如何在Excel VBA自动筛选中将"<"识别为文本而非比较运算符?
解决Excel VBA自动筛选中"<"被识别为比较运算符的问题
在Excel自动筛选规则里,<属于特殊比较运算符,要把它当作纯文本字符处理,核心是用**~(波浪号)**作为转义符,放在<前面即可。
- 单个筛选条件示例:
Workbooks(myWB).Worksheets(mySh).Range("A1:AI1").AutoFilter Field:=30, Criteria1:="~< 12:30"
- 多个筛选条件(同时匹配"< 12:30"和"< 18:00")示例:
Workbooks(myWB).Worksheets(mySh).Range("A1:AI1").AutoFilter Field:=30, Criteria1:=Array("~< 12:30", "~< 18:00"), Operator:=xlFilterValues
原理说明:Excel的筛选引擎会把~后面的特殊符号(比如<、>、*、?)识别为普通文本,而非运算符。不管你是直接写字符串,还是用Chr(60)拼接<,都必须在前面加上~才能让它以纯文本形式参与筛选。
内容的提问来源于stack exchange,提问作者Rahmad Zain
相关产品推荐
相关产品推荐

