excel - 具有多个变量标准的自动过滤器
问题描述
我有一张表,其中包含一列名为“Werkzeugtabelle Vormontage”的项目 ID 和另一个表,其中包含表 1 中列出的部分项目 ID。
我想通过与工作表 2 中的项目 ID 相似的项目 ID 过滤工作表 1。所以基本上将具有更多 ID 的工作表切成具有较少 ID 的工作表的大小。(删除不相似的也是一种选择,但不知道它是如何工作的。)
If CheckSheet("BMV Vormontage") Then
Sheets("Werkzeugtabelle").Select
Sheets("Werkzeugtabelle").Copy After:=Sheets("BMV Vormontage")
ActiveSheet.Name = "Werkzeugtabelle Vormontage"
lRow = Cells(Rows.Count, 1).End(xlUp).Row
Sheets("Restanschluss Vormontage").Select
xRow = Cells(Rows.Count, 11).End(xlUp).Row
'CountUnique ("K3:K100")
'critCount = CountUnique.Count
For i = 3 To lRow
For a = 10 To xRow
Sheets("Werkzeugtabelle Vormontage").Cells(i, 1).AutoFilter Field:=1, Criteria1:=Sheets("Restanschluss Vormontage").Cells(a, 11).Value
Next a
Next i
End If
CheckSheet 正在寻找该工作表以获得工作簿中的起点。“Werkzeugtabelle”是未经过滤的香草片。
每当我在两张纸之间有多个类似的项目 ID 时,它就不会显示,因为我只是在寻找一个看起来的标准。
我试着做一个循环。
解决方案
好吧,我想我已经找到了解决方案。至少它完成了它所做的一切,并且不会向我发送错误信息。你们能仔细检查一下这是否是一个好的代码吗?
Sub Werkzeugtabelle_splitten()
Dim ws As Worksheet
Dim rng As Variant
Set ws = Sheets("Werkzeugtabelle")
' Splitten Vormontage
If CheckSheet("BMV Vormontage") Then
rng = Sheets("Restanschluss Vormontage").Range("K10:K100").Value
ws.Range("A3").AutoFilter _
Field:=1, _
Criteria1:=Application.Transpose(rng), _
Operator:=xlFilterValues
ws.Copy After:=Sheets("BMV Vormontage")
ActiveSheet.Name = "Werkzeugtabelle Vormontage"
ws.ShowAllData
End If
End Sub
所以我已经让原始的“Werkzeugtabelle”工作表仍然存在,它只会过滤它>将它复制到工作簿中的正确位置,然后重置原始过滤器。