PivotTableWizard – 数据字段的名称作为列标题

我使用VBA PivotTableWizard方法从Excel工作表创build数据透视表。

我用sum函数定义了两行字段和两个数据字段。 默认情况下,数据字段的名称作为行说明直接从行字段名称显示在数据透视表中。

我希望将数据字段的名称显示为列标题。 在向导中,用户将“Sum sign – Values”字段拖到“列标签”框中。 这怎么可以通过代码来完成?

这是我到目前为止所做的:

' 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 = "#" 

从问题转移OP的答案:

如果数据透视表具有多个数据字段,则在数据透视表字段列表的放置区域中会有一个名为Values的虚拟字段。 在VBA中,这个等效的虚拟字段被命名为“数据”。 – 这将用于安排列中的数据。

 'Define Pivot Fields (Rows / Columns - Attention to "Data" / Page) tm_volumes_pivot_table.AddFields Array("Main Area", "Subarea"), "Data", "Article Type"