我目前正在处理来自大型机的数据,与此处提供的数据不同。在这种情况下,对于我的标准和目标数据集,我所拥有的只是类似于 100-AAA 的字符串。我已经搜索了类似的解决方案,但我没有找到针对 SO 上的 VBA 的范围问题的直接过滤器。
我正在尝试根据一系列标准过滤大型数据集。最初,我开始在单独的类/子例程中使用集合,但后来我压缩为在单个子例程中使用范围,如下所示:
Sub FilterTest1()
Dim RngOne As Range
Dim LastCell As Long
Sheets("Criteria").Activate
Sheets("Criteria").Select
Range("A1").Select
LastCell = Application.WorksheetFunction.CountA(ActiveSheet.Range("A:A"))
Set RngOne = ActiveSheet.Range("A2:A" & LastCell)
Sheets("Sheet 1").Activate
Sheets("Sheet 1").Select
With ActiveSheet
If .FilterMode Then
.ShowAllData
End If
End With
Columns("A:A").Select
Selection.AutoFilter
ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:=RngOne, Operator:=xlOr
End Sub
不幸的是,我的单元格范围不会过滤数据,即使使用标准,例如Operator:=xlOr
- 它只显示用于标准的最后一个单元格值。VBA 代码不会失败 - 它只是没有根据范围正确过滤。
我确信存在一个简单的解决方案,但我不能完全看到它。