16.12 选定工作表中的数据透视表区域

如果工作表中存在多个数据透视表,只有使用鼠标进行多次操作,才能选中全部数据透视表区域。利用代码可以快捷而准确地完成这个任务。

示例16.18 选定工作表中的数据透视表区域

打开示例文件“选定工作表中的数据透视表区域.xlsm”,在“数据透视表”工作表中已经创建了两个数据透视表。运行SelectPvtRange过程,工作表中高亮显示的单元格区域被选中,如图16-39所示。不难发现,代码并没有选中全部的数据透视表区域,工作表中左侧数据透视表的筛选字段区域没有被选中。

img362b

图16-39 TableRangel区域和TableRange2区域

img363a

代码解析:

第4行代码用于获取第一个数据透视表(图16-39中左侧的数据透视表)的TableRangel区域,并赋值给对象变量objRng。

第5行代码利用Union方法将第2个数据透视表(图16-39中右侧的数据透视表)的Table Range2区域合并到Range类型变量objRng中。

第10行代码选中objRng所代表的单元格区域。

数据透视表对象的TableRangel属性和TableRange2属性的区别在于:TableRangel属性用于返回不包含筛选字段区域在内的数据透视表表格所在区域,而TableRange2属性用于返回包含筛选字段区域在内的全部数据透视表区域。知道了这两个属性的区别,在代码中就可以根据不同需要来决定使用那个属性返回数据透视表的相应区域。