【发布时间】:2021-06-23 15:19:45
【问题描述】:
我在工作表 (inventorySheet) 上有一个数据透视表,我想复制从单元格 P5 和 Q5 开始的数据透视表数据。我在另一个工作表(我想要粘贴数据的工作表)上按下了一个宏按钮,但我的代码是从活动工作表而不是从 inventorySheet 复制数据。
我是编码新手,但我的代码不应该是 Range("P5:Q5", Range("P5:Q5").End(xlDown))。从 inventorySheet 复制数据,因为它在 With 语句中?
With inventorySheet
.PivotTables("inventoryPivot").ClearAllFilters
.PivotTables("inventoryPivot").PivotFields("Type"). _
CurrentPage = "REGIONAL"
Range("P5:Q5", Range("P5:Q5").End(xlDown)).Copy
End With
谢谢!
【问题讨论】:
-
.Range("P5:Q5", .Range("P5:Q5").End(xlDown)).Copy没有.它不属于 With 块 -
代码在该行停止,运行时错误带有 .添加在范围前面,想知道它正在这样做
-
错误是什么?仅供参考,而不是 Range...End,您可以直接引用要复制的 PT 部分:这是更安全的方法,请参阅peltiertech.com/referencing-pivot-table-ranges-in-vba
-
运行时错误“1004”:对象“_Worksheet”的方法“范围”失败不知道 PT 有具体的引用,很高兴知道,谢谢!如何仅复制数据部分?不是标题,而是下面的所有数据。本质上是 DataBodyRange,但左侧的列也突出显示。
-
嗨蒂姆,一直在谨慎地工作。我现在明白为什么在两个范围前面都需要
.。相信它是从inventorySheet 调用的。否则,如果没有.,即使它在 With 语句中,它也会从活动工作表调用。这是正确的吗?