有没有办法找到数据透视表的范围

时间:2017-10-02 21:02:23

标签: excel-vba pivot-table vba excel

Excel 2013.我有数据透视表,根据数据行增长和缩小。例如, 1.对于Row标签,我列出了所有产品 2.对于Column标签,我有制造商列表 3.对于值,我对制造商的计数为1。这将告诉我有多少制造商生产相同的产品。

因此,产品列表(行)增长,制造商列表(列)也会扩展。

我的问题:有没有办法获得数据透视的范围,例如,如果数据透视表从A1开始,有10个产品和10个制造商,那么数据透视表的范围将是$ A $ 1:$ K $ 12(没有行的总计或列的总计)。

是否有快速提取范围$ A $ 1:$ K $ 12?

提前谢谢你,

-G。

2 个答案:

答案 0 :(得分:1)

我看到你标记了Excel-VBA。

是,如果您可以将范围视为Range(cells(1,1),cells(12,12))而不是Range("A1:K12")

有一种方法可以计算VBA中的字段项目。

Rcount = Sheets("YOUR SHEET NAME").PivotTables(1).PivotFields("YOUR ROW NAME").PivotItems.Count
Ccount = Sheets("YOUR SHEET NAME").PivotTables(1).PivotFields("YOUR COL NAME").PivotItems.Count

从那里你只需要添加2来补偿额外的行/列

Rcount = Rcount+2
Ccount = Ccount+2

Dim TableRNG as range
Set TableRNG = Range(cells(1,1),cells(Rcount,Ccount))

如果不知道你想要完成什么,我很难再深入了解,我不确定你是否真的要求VBA解决方案。

答案 1 :(得分:0)

要获取不包含过滤条件范围的数据透视表范围(通常在表格上方两行),请使用此代码。这将选择实际的数据透视表范围,并在msg框中输出数据透视表范围的地址。

July