尽管关于这个主题的问题很多,但我一直无法找到问题的解决方案(这可能是也可能不是我的错)。
我需要自动过滤一个范围以返回空格和以 614 开头的数字。
该列已使用以下内容进行预格式化:
Range("B:C").NumberFormat = "###0"
这是为了删除 Excel 想要在某些数字上使用的科学记数格式。
然后我使用以下内容来应用过滤器:
With ActiveSheet
.AutoFilterMode = False 'remove any active filters
.Range("A1:O1").AutoFilter Field:=2, Criteria1:="614*", Operator:=xlOr, Criteria2:="="
End With
无论我如何应用过滤器,包括使用数组,过滤器都只返回空白值。我还使用 Criteria1:="=614*" 获得相同的结果。
我唯一确定的是这个数字将以 614 开头,并且后面会有各种组合。
是数据类型的问题吗?空格是字符串,数字是数字吗?只有一个博客稍微解决了这个问题,并且似乎表明我在这种情况下不能使用通配符。它是否正确?
这些号码本质上是澳大利亚手机号码,因此长度为 11 个字符,其中只有前 3 个字符是常量。这就是为什么我真的想使用通配符来查找这些记录。我需要从数据集中消除这些加上空白。根据您的回复以及我基本上开始意识到,如果我想将其作为一步过程来完成,我唯一的选择是将数字转换为字符串。这会影响后面的代码。我假设这不能作为自动过滤器标准的一部分来完成(一厢情愿的想法)?