获取所有可能的过滤条件列表

从VBA中,我需要知道我可以在筛选列中select的所有条件的列表。 例如下面的列表:[1-ALFA; 2-BETA; … 5-ETC]

在这里输入图像说明

假设我们有这样的数据:

在这里输入图像说明

我们过滤大小的大小,我们想列出列A的标准:

 Sub ShowCriteria() Dim r As Range, c1 As Collection, c2 As Collection Dim msg As String Set c1 = New Collection Set c2 = New Collection Dim LastRow As Integer With Worksheets("sheet1") LastRow = .Range("A" & Worksheets("sheet1").Rows.Count).End(xlUp).Row End With On Error Resume Next For Each r In Range("A2:A" & LastRow) v = r.Value c1.Add v, CStr(v) If r.EntireRow.Hidden = False Then c2.Add v, CStr(v) End If Next On Error GoTo 0 msg = "Full criteria" For i = 1 To c1.Count msg = msg & vbCrLf & c1.Item(i) Next i msg = msg & vbCrLf & vbCrLf & "Visible criteria" For i = 1 To c2.Count msg = msg & vbCrLf & c2.Item(i) Next i MsgBox msg End Sub 

将显示:

在这里输入图像说明