Excel自动筛选提取分类值

我有一个小的VBA函数来过滤(A)。

(A) | B | C | D | E x x y x zx 

现在我想输出行(A)中所有可能的值

– >'x','y','zx'

在过滤之前,但是不知道如何得到这个信息。

 Sub MakeFilter() Worksheets("Sheet1").Range("A3:AT1000").AutoFilter field:=1, Criteria1:="x", _ VisibleDropDown:=True End Sub 

在图像中,你可以看到它是如何手动完成的。 彼得在列表中是两倍,但在筛选器select列表中,它只有一次。 我只想要select框中的那些值。 他们全部。

第一图像 第二图像

下面的代码将A列复制到工作表2中,然后删除所有重复项并应用您的自动filter。 你最好使用一个循环来完成下面描述的任务:

 Sub MakeFilter() Dim ws As Worksheet Dim wbnew As Workbook x = 0 Set wbnew = Workbooks.Add(xlWBATWorksheet) For Each ws In ActiveWorkbook wbnew.Sheets(1).Range("A3:A1000").Offset(0, x).Value = ws.Sheets(1).Range("A3:A1000").Value wbnew.Sheets(1).Range("A3:A1000").Offset(0, x).RemoveDuplicates Columns:=Array(1), Header:=xlNo x = x + 1 ws.Range("A3:AT1000").AutoFilter field:=1, Criteria1:="x", VisibleDropDown:=True Next ws End Sub 

让我知道如果有帮助。