Shairal每天使用各种数据源(例如Excel列表,Access表和OLAP数据)开发数据透视表。他处理的最令人烦恼的事情之一是抑制每个字段的自动小计功能,一次一次。根据他使用的字段数,这可能很耗时。 Shairal想知道使用宏一次抑制所有字段的小计是否更容易。

答案是使用宏会更容易。 (这就是宏的用途-照顾您所厌烦的乏味。)但是,与其重新发明轮子,一个好的解决方案是考虑以下代码,这些代码来自Microsoft MVP Debra Daglisesh的站点:

Sub NoSubtotals()

'turns off subtotals in pivot table     '.PivotFields could be changed to     '.RowFields or .ColumnFields

Dim pt As PivotTable     Dim pf As PivotField

On Error Resume Next     For Each pt In ActiveSheet.PivotTables         For Each pf In pt.PivotFields             'First, set index 1 (Automatic) to True,             'so all other values are set to False             pf.Subtotals(1) = True             pf.Subtotals(1) = False         Next pf     Next pt End Sub

只需显示要影响的数据透视表,然后运行宏。

数据透视表中所有字段的小计立即被抑制。可在Debra的站点上找到此代码的原始版本:

http://www.contextures.com/xlPivot03.html#Subtotals

该网站还包含一些其他有关使用数据透视表的有用信息。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

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

本技巧(3103)适用于Microsoft Excel 97、2000、2002和2003。