数据透视表的布局和样式

编程时,可以套用Excel内置的数据透视表布局方式和外观样式。[大谦Excel,dqexcel点com]

设置数据透视表的布局方式

数据透视表的布局有压缩形式、大纲形式和表格形式等3种,默认时以压缩形式布局,即图7-2中数据透视表采用的布局。使用PivotTable对象的RowAxisLayout方法设置数据透视表的布局样式。

【Excel VBA】

示例文件的存放路径为Samples\ch19\Excel VBA\布局方式.xlsm。CreatePVT过程生成数据透视表,将“产品”设置为列字段,将“类别”和“产地”设置为行字段,将“金额”设置为值字段。

code.vba
Sub CreatePVT()
  '省略。创建数据透视表。
  '…

  '设置字段
  With pvt
    .PivotFields("产品").Orientation = xlColumnField  '列字段
    .PivotFields("产品").Position = 1
    .PivotFields("类别").Orientation = xlRowField  '行字段
    .PivotFields("类别").Position = 1
    .PivotFields("产地").Orientation = xlRowField  '行字段
    .PivotFields("产地").Position = 2
    .PivotFields("金额").Orientation = xlDataField  '值字段
  End With
End Sub

运行CreatePVT过程生成数据透视表,默认时采用压缩形式的布局。

过程Layout获取数据透视表,将布局修改为大纲形式。

code.vba
Sub Layout()
  '省略,获取数据透视表pvt
  '…
  '大纲布局
  pvt.RowAxisLayout xlOutlineRow
End Sub

运行Layout过程,生成大纲形式布局的数据透视表如图7-8所示。

Document Image

图7-8 大纲形式布局的数据透视表

【Python】

编写Python脚本,脚本文件的存放路径为Samples\ch19\Python\布局方式.py。

code.vba
#前面代码省略,请参见Python文件
#......
#大纲布局
pvt.RowAxisLayout(xw.constants.LayoutRowType.xlOutlineRow)

运行脚本,生成大纲形式布局的数据透视表如图7-8所示。

设置数据透视表的样式

样式是Excel内置的外观格式。使用PivotTable对象的TableStyle2属性设置数据透视表的样式。

【Excel VBA】

示例文件的存放路径为Samples\ch19\Excel VBA\设置样式.xlsm。运行CreatePVT过程,生成数据透视表。

SetStyle过程将数据透视表的样式设置为常数"PivotStyleLight18"定义的样式。

code.vba
Sub SetStyle()
  '省略,获取数据透视表pvt
  '…
  pvt.TableStyle2 = "PivotStyleLight18"
End Sub

运行过程,生成数据透视表如图7-9所示。

Document Image

图7-9 设置数据透视表的样式

【Python】

编写Python脚本,脚本文件的存放路径为Samples\ch19\Python\设置样式.py。

code.vba
#前面代码省略,请参见Python文件
#......
#设置样式
pvt.TableStyle2 = "PivotStyleLight18"

运行脚本,生成数据透视表如图7-9所示。