看起来您想打开一个过滤器(cols =“ Pass”)切换3个不同的过滤器(cols g,h和j)
这是我想出的VBA。如果您的列之一(G,H或J)全部为0,那么您的新工作表上的可乐可能有一个空白的行....这是所有0s的列。如果需要,可以删除。
Sub Filtering_WithPass()
'''store filter results
Dim arr
arr = ActiveSheet.Evaluate("=UNIQUE(VSTACK(FILTER(A2:A1000,(S2:S1000=""Pass"")*(G2:G1000<>0),""""),FILTER(A2:A1000,(S2:S1000=""Pass"")*(H2:H1000<>0),""""),FILTER(A2:A1000,(S2:S1000=""Pass"")*(J2:J1000<>0),"""")))")
'''copy the results to a different sheet
Dim ws As Worksheet
Set ws = Sheets.Add(after:=ActiveSheet)
ws.Range("A1").Resize(UBound(arr, 1)).Value = arr
End Sub