16.1 数据透视表对象模型

VBA是集成于宿主应用程序(如Excel、Word等)中的编程语言,在VBA代码中对于Excel的操作都需要借助于Excel中的对象来完成,因此理解和运用Excel对象模型是Excel VBA编程技术的核心。

Excel的对象模型是按照层次结构有逻辑地组织在一起的,其中某些对象可以是其他对象的容器,也就是说可以包含其他对象。位于对象模型最上端的是Application对象,即Excel应用程序本身,该对象包含Excel中所有其他对象。

只有充分了解某个对象在对象模型层次结构中的具体位置,才可以使用VBA代码方便地引用该对象,进而对该对象进行相关操作,使得Excel根据用户代码自动完成某些工作任务。在VBA帮助或者VBE(全称为Visual Basic Editor,即VBA集成编辑器)的对象浏览器中可以查阅Excel对象模型。

表16-1中列出了Excel中常用的数据透视表对象。

表16-1  数据透视表常用对象列表

对象/对象集合描 述
CalculatedMember代表数据透视表的计算字段和计算项,该数据透视表以联机分析处理(OLAP)为数据源
CalculatedMembers代表指定的数据透视表中所有CalculatedMember对象的集合
CalculatedFields“PivotField对象的集合,该集合代表指定数据透视表中的所有计算字段
CalculatedItemsPivotItem对象的集合,该集合代表指定数据透视表中的所有计算项
Chart代表一个数据透视图
CubeField代表OLAP多维数据集中的分级结构或度量字段
CubeFields代表基于OLAP多维数据集的数据透视表中所有CubeField对象的集合
PivotCache代表一个数据透视表的内存缓冲区
PivotCaches代表工作簿中数据透视表内存缓冲区的集合
PivotCell代表数据透视表中的一个单元格
PivotField代表数据透视表中的一个字段
PrivotFields代表数据透视表中所有PivotField对象的集合,该集合包含数据透视表中所有的字段,也包括隐藏字段
PivotFormula代表在数据透视表中用于计算的公式
PivotFormulas代表数据透视表的所有公式的集合
PivotItem代表数据透视表字段中的一个项,该项是字段类别中的一个独立的数据条目
PivotItems代表数据透视表字段中所有PivotItem对象的集合
PivotItemList代表指定的数据透视表中所有PivotItem对象的集合
PivotLayout代表数据透视图报表中字段的位置
PivotTable代表工作表上的一个数据透视表
PivotTables代表指定工作表上所有PivotTable对象的集合
Range代表数据透视表中的一个或者多个单元格

Excel中数据透视表相关的对象模型如图16-1所示,从中可以看出对象之间的逻辑关系。

img328

图16-1 数据透视表对象模型