数据透视表是Excel中数据分析工具的精华,想必大家工作中经常用到,有时需要拷贝透视表的一部分(例如汇总行)。由于数据透视表非常灵活,所以定位最后一行也不是那么简单,首先透视表布局中可以有N多中不同字段组合方式,其次透视表位置可以从A1开始,也可以从其他单元格开始,因此不容易找到基准列。
工作表中有如下所示的透视表,现在需要将汇总行拷贝到H1单元格。
示例代码如下:
Sub demo()
Dim pvt As PivotTable
Set pvt = ActiveSheet.PivotTables(1)
Debug.Print pvt.TableRange1.Address
With pvt.TableRange1
.Rows(.Rows.Count).Copy [H1]
End With
End Sub
【代码解析】
第3行代码将透视表赋值给对象变量,便于后续代码的引用
第4行代码用于核查数据透视表的TableRange1属性返回的地址,本例中为:$B$3:$D$22
第6行代码拷贝汇总行至H1单元格开始的区域,其中Rows.Count
返回透视表TableRange1属性所代表区域的行数。
运行代码结果如下图所示。
多掌握一些VBA对象的属性,实战中就可以轻松解决问题,大家一起努力学习。