与vba不同的数据透视字段select

我试图用VBA更新数据透视表,但是我的下面的代码没有得到更新,一旦第一个标准是隐藏rest不会自动隐藏,我迷失了这个。 任何支持将是非常有益的,附上截图后的代码执行。

Sub Pivotselection() Sheets("Daily Facing Service by WH").Select Application.ScreenUpdating = False ActiveSheet.PivotTables("PivotTable1").PivotFields("Ordtype").Orientation = xlHidden ActiveSheet.PivotTables("PivotTable1").PivotFields("TOTLNS").Orientation = xlHidden ActiveSheet.PivotTables("PivotTable1").PivotFields("TOTFCA").Orientation = xlHidden With ActiveSheet.PivotTables("PivotTable1").PivotFields("WH") .Orientation = xlColumnField .Position = 1 End With Application.ScreenUpdating = True Sheets("Monthly Facing Service").Select ActiveSheet.PivotTables("PivotTable4").PivotFields("Ordtype").Orientation = xlHidden Sheets("Calculations").Select Range("E8").Select End Sub 

你错误地命名了它们。 由于已将名称添加到值字段中,因此您需要使用新名称引用它们

 Sub Pivotselection() Sheets("Daily Facing Service by WH").Select Application.ScreenUpdating = False ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of Ordtype").Orientation = xlHidden ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of TOTLNS").Orientation = xlHidden ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of TOTFCA").Orientation = xlHidden With ActiveSheet.PivotTables("PivotTable1").PivotFields("WH") .Orientation = xlColumnField .Position = 1 End With Application.ScreenUpdating = True Sheets("Monthly Facing Service").Select ActiveSheet.PivotTables("PivotTable4").PivotFields("Ordtype").Orientation = xlHidden Sheets("Calculations").Select Range("E8").Select End Sub 

另外我会摆脱你的.Select语句。 他们似乎没有做任何事情