我需要一些有关 Excel 中过滤的帮助,并且非常感谢任何帮助。 我希望能够按变量标准进行过滤,并可能按多个变量标准进行过滤。 请允许我尽可能简单地解释一下
我有一个工作簿,在工作表 2 中我有数据。在工作表 1 中,我有一个变量列表,需要在工作表 2 中过滤这些变量。这些变量的数量会有所不同,当然每个单元格中的数据也会有所不同。
现在我有一个小小的请求。
我可以有两个独立函数的代码吗:
1)让Excel注册有多少个变量,并一一过滤这些变量(我有代码可以执行我需要的操作,然后重置过滤器)。
2) Excel 注册变量并同时过滤所有变量(多个条件)。
我附上了一个 Excel 电子表格示例的链接。希望对您有所帮助!
http://www.filedropper.com/excelexample
我非常感谢对此的任何帮助。
谢谢
最佳答案
在这个小示例中,我们从“信息”选项卡收集值,删除所有空白并将该过滤器应用于“数据”选项卡的第一列,以便显示所有匹配项:
Sub luxation()
Dim sh1 As Worksheet, N As Long
Dim st As String
Set sh1 = Sheets("Info")
N = sh1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To N
v = sh1.Cells(i, 1).Value
If v <> "" Then
st = st & v & ","
End If
Next i
st = Mid(st, 1, Len(st) - 1)
Arr1 = Split(st, ",")
Sheets("Data").AutoFilterMode = False
With Sheets("Data").Range("$A$1:$C$9244")
.AutoFilter Field:=1, Criteria1:=Arr1, Operator:=xlFilterValues
End With
End Sub
在下一个示例中,将按顺序应用过滤器值:
Sub luxation2()
Dim sh1 As Worksheet, N As Long
Dim st As String
Set sh1 = Sheets("Info")
N = sh1.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To N
v = sh1.Cells(i, 1).Value
If v <> "" Then
st = st & v & ","
End If
Next i
st = Mid(st, 1, Len(st) - 1)
Arr1 = Split(st, ",")
Sheets("Data").Activate
For i = LBound(Arr1) To UBound(Arr1)
Sheets("Data").AutoFilterMode = False
With Sheets("Data").Range("$A$1:$C$9244")
.AutoFilter Field:=1, Criteria1:=Arr1(i), Operator:=xlFilterValues
End With
MsgBox "Check out the filter"
Next i
End Sub
关于VBA 多重标准/变量过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19224305/