如何从另一个工作表中选择数据透视表数据范围

时间:2019-02-12 15:24:40

标签: excel vba

VBA的新功能。我只是想弄清楚为什么我不能从另一个表的数据透视表中选择第一行数据范围。有什么想法吗?

带有数据透视表的数据表名称=数据透视表 数据透视表名称= PivotTable3

将pt设置为数据透视表     设置pt = Sheets(“ Pivot”)。PivotTables(“ PivotTable3”)

Worksheets("Pivot").Activate
pt.PivotFields("Row Labels").DataRange.Select
Selection.Copy

我认为这将为我选择第一行。但是我遇到错误“ 1004”

1 个答案:

答案 0 :(得分:0)

不确定确切的范围。尝试其中之一:

Worksheets("Pivot").PivotTables("PivotTable3").TableRange1.Rows(1)
Worksheets("Pivot").PivotTables("PivotTable3").TableRange2.Rows(1)
Worksheets("Pivot").PivotTables("PivotTable3").DataBodyRange.Rows(1)
Worksheets("Pivot").PivotTables("PivotTable3").RowRange.Rows(1)

或者类似Application.Intersect(Worksheets("Pivot").PivotTables("PivotTable3").TableRange1, Worksheets("Pivot").PivotTables("PivotTable3").DataBodyRange.Rows(1).EntireRow)

顺便说一句,以下方法将被禁止(实际上,所有具有VBA经验的人都将避免使用它):

SomeSheet.Activate
MyRange.Select
Selection.DoSomeAction

相反,只需执行MyRange.DoSomeAction

这将更加流畅,屏幕上不会闪烁。