国外网站介绍VBA autofilter 很不错 https:///vba-autofilter/#Example-Multiple-Criteria-With-Different-Columns 说实话国外的网站对于VBA的资料相对于国内来说内容更丰富更具有实用性。当然是Bing搜索引擎与百度引擎相比较。 1 显示所有数据,不隐藏数据 (仅在Autofilter模式下使用)
但是如果是需要VBA高级筛选的话就不能用AutoFiler.ShowAllData 方法,否则报错。因为这个方法只针对AutoFilter情况。可以换成Worksheets("XXX").ShowAllData
2 多条件筛选(仅限于两个筛选条件,如果多条件必须是高级筛选)
其实有很多博客都写了关于autofilter的函数方法,包括参数用途。但是这里我还是最终想讲一下通配符的作用,没错就是“*”,“?”,“~”。这个坑的我好苦啊(应该是寻找答案的时间比较长,2天时间) 先简要介绍一下这三种通配符。
我的需求是第七列(也就是G列)筛选出不含有开头为字母t的内容。一开始以为Criteria筛选可以用正则表达式进行筛选,结果多次尝试后根本就不行,然后无意间找到通配符这个功能,研究了一下,好像也不可以。VBA script regular express 引用也不可以。可能是想得太多了,下班在车上突然想到用<>也就是不等于试一试,没想到成功了。VBA的正则还是有一些不同的。我要好好记住它。 Criteria1:= "<>t*"
3 高级筛选 国外有一个网站写的很好,不得不说国外的资料比较全。这是因为什么呢?我认为是他们很认真,国内就恐怕做不到。谢谢这位作者。 上面网站讲述了一个很好的例子。具体情况具体分析。 高级条件筛选 首先要创建一个筛选标准的Excel。如果是逻辑与的话,需要在同一行。反之逻辑或则是非同一行。如下
说明一下"<>"这个符号在Like 函数中无法使用,但是可以再高级筛选中使用。 https://docs.microsoft.com/zh-cn/office/vba/language/reference/user-interface-help/like-operator 内置模式匹配为字符串比较提供了一个功能多样的工具。 利用模式匹配功能,您可以将通配符、字符列表或字符范围任意组合使用来匹配字符串。 下表显示了 pattern 中允许使用的字符以及它们的匹配项:
Code
|
|