我正在使用VBA PivotTableWizard方法从Excel工作表创建数据透视表。
我用sum函数定义了两个行字段和两个数据字段。默认情况下,数据字段的名称在数据透视表中显示为行字段名称中的行描述。
我希望将数据字段的名称显示为列标题。在向导中,用户将“Sum sign - Values”字段拖到Column Labels框中。如何通过代码完成?
这是我到目前为止所拥有的:
' Create the PivotTable object based on the data on the selected sheet
Set tm_volumes_pivot_table = ActiveSheet.PivotTableWizard
'Page fields
Set tm_volumes_pivot_field = tm_volumes_pivot_table.PivotFields("Article Type")
tm_volumes_pivot_field.Orientation = xlPageField
'Row fields
Set tm_volumes_pivot_field = tm_volumes_pivot_table.PivotFields("Main Area")
tm_volumes_pivot_field.Orientation = xlRowField
Set tm_volumes_pivot_field = tm_volumes_pivot_table.PivotFields("Subarea")
tm_volumes_pivot_field.Orientation = xlRowField
'Column fields
'Must be Names of Data Fields - how?
'Data fields
Set tm_volumes_pivot_field = tm_volumes_pivot_table.PivotFields("Initial Volume")
tm_volumes_pivot_field.Orientation = xlDataField
tm_volumes_pivot_field.Function = xlSum
tm_volumes_pivot_field.NumberFormat = "#"
Set tm_volumes_pivot_field = tm_volumes_pivot_table.PivotFields("Final Volume")
tm_volumes_pivot_field.Orientation = xlDataField
tm_volumes_pivot_field.Function = xlSum
tm_volumes_pivot_field.NumberFormat = "#"
答案 0 :(得分:0)
转移OP的回答:
当数据透视表具有多个数据字段时,数据透视表字段列表的放置区中会有一个名为Values的虚拟字段。在VBA中,此等效虚拟字段命名为" Data"。 - 这将用于按列排列数据。
'Define Pivot Fields (Rows / Columns - Attention to "Data" / Page)
tm_volumes_pivot_table.AddFields Array("Main Area", "Subarea"), "Data", "Article Type"