David想知道是否有办法在数据透视表本身中显示数据透视表的名称。

简短的答案是无法自动执行此操作。更长的答案是您可以“欺骗”并将名称强制放入数据透视表。例如,您可以在数据透视表中选择行标签单元格并对其进行编辑(F2),将其中的任何内容替换为您要键入的名称。这远不是自动的,刷新数据透视表时,需要记住再次编辑单元格。

将名称强制放入数据透视表的另一种方法是使用宏。您可以在宏中采用几种方法。一种方法是创建数据表,数据透视表将基于该数据表。在第一列中给数据表一个标题。 (标题的任何旧文本都可以,因为宏会覆盖它。)

创建数据透视表后,运行以下宏。它确定数据透视表的名称,将其填充到数据表的标题中,刷新数据透视表(使名称显示在此处),然后更新数据透视表报表筛选器的名称,使其与数据透视表的名称相同。

Sub GetPVName()

Dim pvt As PivotTable     Dim PVName As String

' Get the PivotTable name from the ActiveSheet     ' If there are multiple PivotTables, this approach     ' ensures the macro will work with the last PivotTable     ' in the PivotTables collection     For Each pvt In ActiveSheet.PivotTables         PVName = pvt.Name     Next pvt

' Put PivotTable name as a heading for the first     ' column of the data table     Range("Table1").Cells(0, 1) = PVName

' Refresh the PivotTable     ActiveSheet.PivotTables(PVName).PivotCache.Refresh

' Set the PivotTable name in the report filter     With ActiveSheet.PivotTables(PVName).PivotFields(PVName)

.Orientation = xlPageField         .Position = 1     End With End Sub

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3233)适用于Microsoft Excel 2007、2010、2013和2016。