在excel表格中选择多个列进行高级筛选



我在表中创建了原始数据,我使用VBA的高级过滤器但是当我运行代码时,表消失了,所以我试图写一个代码来选择许多列,但每次尝试时都会收到一个错误

代码

'Assuming the name of the table is "RawData"
LastTransRow = Sheet9.ListObjects("RawData").DataBodyRange(19999, 1).End(xlUp).Row 'Last Transaction Row
Sheet9.ListObjects("RawData").DataBodyRange("G1:A" & LastTransRow).AdvancedFilter xlFilterCopy, CriteriaRange:=Sheet11.Range("A2:B3"), CopyToRange:=Sheet11.Range("K2:E19999"), Unique:=True

我添加了对包含代码的工作簿(ThisWorkbook(的引用,以确保在其子表上执行操作。重置一些参数(例如:"G1:A"、"A1:G"、"K2:E19999"、"E2:K19999"(。在我的机器上工作。试试看。

Sub AdvFilterTest()
Dim LastTransRow As Long
'Assuming the name of the table is "RawData"
With ThisWorkbook.Sheets("Sheet9")
.Activate
LastTransRow = .ListObjects("RawData").DataBodyRange(19999, 1).End(xlUp).Row 'Last Transaction Row
.ListObjects("RawData").DataBodyRange.Range("A1:G" & LastTransRow).AdvancedFilter xlFilterCopy, CriteriaRange:=ThisWorkbook.Sheets("Sheet11").Range("A2:B3"), CopyToRange:=ThisWorkbook.Sheets("Sheet11").Range("E2:K19999"), Unique:=True
End With
End Sub

最新更新