【发布时间】:2022-08-19 00:11:07
【问题描述】:
我在表中创建了原始数据,我使用 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
-
您的代码在这里工作。尝试删除这段代码:
(\"G1:A\" & LastTransRow),因为 DataBodyRange 在定义 ListObject 时定义了它的范围。无需计算这些限制。 -
但是我怎样才能将我的范围限制在( Ato G )。我的意思是原始数据范围(从 A 到 T 列),我需要从 A 到 G 进行高级过滤
-
是否要过滤 ListObject 的部分 DataBodyRange 行中的唯一项?
-
您想要过滤部分 DataBodyRange 列。没关系。原始数据从 A 到 T,您想应用从 A 到 G 的高级过滤器。但是原始数据从 Row1 扩展到 Row__ ?可能是在计算 lngLastRow 时,您覆盖的数据比您真正想要的要多。因为 20,000 行很可能会超出您的表限制。
-
您能否澄清正在发生的错误是什么?这个错误的描述是什么?它发生在哪一行代码上?
标签: excel vba advanced-filter