[我的任务是要有一张工作表,其中包含一列充满项目ID的列,称为“ Werkzeugtabelle Vormontage”,另一张工作表中包含表1中列出的项目ID的一部分。现在,我要按与工作表2中的工作表相似。因此,基本上将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”是未经过滤的香草薄片。
我的代码的问题是,每当我在两张纸之间有1个以上相似的Item ID时,它就不会显示,因为我似乎只是在寻找1条条件。我试图做一个循环的解决方法,但是没有用。
我该如何进行这项工作?
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”工作表仍然存在,并且仅对其进行过滤>将其复制到工作簿中的正确位置,然后将过滤器重置为原始文件。