VBA - 从数据透视表单元格(VBA - Select Cells from Pivot Tab

2019-09-28 01:53发布

我在VBA和第一次发帖相当新手,所以请多多包涵。

我想从数据透视表并粘贴值复制到一个单独的工作表。 我需要离开宏尽可能地灵活,以配合到枢轴任何潜在的未来的变化。 从本质上讲,我想复制(例如)A6:E77,但该行范围可能需要改变(所以A6:E84,而不是A6:G77)如果基础数据的变化。 我可以选择使用discontinguous数据集中的所有垂直非空白单元格:

    Range("A6", Range("A1048576").End(xlUp)).Select

但我怎么能那么选择所有在B列的单元格:那是在A列中选择的细胞一起é?

我曾尝试使用下面的代码尝试,但它似乎忽略结束。(xlUp)命令。

    Range("A6:E1048576", Range("A6:E1048576").End(xlUp)).Select

有任何想法吗? 我感谢帮助:)

Answer 1:

您可以通过他们的访问数据透视表的数据透视表对象的数据透视表集合中的相关工作表对象。

例如你的名为第一张数据透视表PivotTable1可以作为访问Sheet1.PivotTables("PivotTable1")

这些数据透视表对象具有有用的性质,例如DataBodyRange,DataLabelRange,ColumnRange,RowRange,PageRange等。这些范围被动态地更新以指向枢轴表的相关部分。

还有如RowFields,ColumnFields和数据域,使您可以检查数据透视表目前的结构性能。

不知道更多关于什么枢轴的部分你要复制我无法给出更具体的建议。 但是你可以看看的文档这里的数据透视表对象 。



文章来源: VBA - Select Cells from Pivot Table
标签: vba pivot