5
A
回答
6
您需要創建一個自定義VBA函數(或宏),支持正則表達式。我親自做過,所以我知道這是可能的:-)
如果這是一次性問題,可以通過使用複雜的FIND()/ MID()/ SUBSTITUTE()等來解決。 (這實際上是我的日常工作),但我不會推薦這個,除非你想盯着一個完整的Excel函數的5行單元格。
編輯:我會更新這個,如果你有或需要更多的信息提供。
編輯:這裏是你如何使用正則表達式作爲Excel中的一個功能:
功能REFIND(strValue中作爲字符串,strPattern作爲字符串,可選blnCase由於布爾=真)爲布爾
Dim objRegEx As Object Dim blnValue As Boolean ' Create regular expression. Set objRegEx = CreateObject("VBScript.RegExp") objRegEx.Pattern = strPattern objRegEx.IgnoreCase = blnCase ' Do the search test. blnValue = objRegEx.Test(strValue) REFIND = blnValue End Function
端功能
5
不是很靈活,但你可以使用自定義使用此公式:
=OR(AND(LEN(A2)=4,LEFT(A2,3)="COM",MID(A2,4,1)>="1",MID(A2,4,1)<="4"),OR(AND(A2>=1,A2<=65535)))
我認爲這會縮小到您在評論中指定的內容。
+0
+1 RegExp在沒有VBA的情況下可以實現的功能過度消耗 – brettdj
3
在Ribbon >> Data >> Data Validation中使用以下內容。然後允許=自定義,並添加下面的公式:
=OR(AND(E5 >= 1, E5 <= 65535), E5 = "COM1", E5 = "COM2", E5 = "COM3", E5 = "COM4")
0
對於這個特定的問題,使用標準的數據驗證將不VBA,正則表達式或公式需要工作過:
允許:列表 來源: 「COM1,COM2,COM3,COM4,1-65535」
這也提供了單元格中的下拉列表以幫助用戶。
相關問題
- 1. 數據驗證 - 正則表達式
- 2. 正則表達式驗證
- 3. 正則表達式驗證
- 4. 正則表達式驗證
- 5. 正則表達式驗證
- 6. 正則表達式驗證
- 7. 正則表達式驗證
- 8. C#正則表達式驗證驗證
- 9. 位數正則表達式驗證
- 10. javascript正則表達式驗證函數
- 11. Asp.net正則表達式驗證器 - 驗證表達式
- 12. ASP.Net正則表達式(%符號)正則表達式驗證器
- 13. 正則表達式驗證的正則表達式
- 14. 正則表達式驗證CC數不驗證JCB卡正確
- 15. 正則表達式不正確驗證
- 16. 正則表達式模式驗證Angularjs2
- 17. 正則表達式驗證XML模式
- 18. 正則表達式驗證格式(ABC_123)
- 19. PlayFramework:表正則表達式驗證
- 20. 正則表達式驗證表單
- 21. HTML表單正則表達式驗證
- 22. 正則表達式 - 表單驗證
- 23. 正則表達式RegEx驗證自定義Excel格式
- 24. 使用正則表達式驗證數學表達式?
- 25. 正則表達式來驗證練成像數學表達式
- 26. 正則表達式驗證Netezza DB中的數據格式
- 27. 使用正則表達式驗證表單數據
- 28. 正則表達式日期驗證
- 29. html5驗證正則表達式
- 30. JavaScript驗證/正則表達式
你的意思是,你如何得到另一列只顯示那些符合你的標準的值?你在尋找範圍匹配還是精確匹配?你能否舉一些你想要匹配的值的例子,以及一些接近但不應該匹配的值? – jimbojw
想要的值是COM1,COM2,COM3,COM4或int中的一個1-65535 –