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对象的集合,该集合代表指定数据透视表中的所有计算字段 |
CalculatedItems | PivotItem对象的集合,该集合代表指定数据透视表中的所有计算项 |
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所示,从中可以看出对象之间的逻辑关系。
图16-1 数据透视表对象模型