用于数据透视表刷新的VBA列宽度更新

我有一个数据透视表和一个切片机,我需要一个代码,将更新每列的宽度,以适应每次更新切片机(更新数据透视)的值。 我知道,如果我得到了枢轴表>选项,我不能select一个框,说:“更新时自动创build列的宽度”,但它不起作用。 所以相反,我试图做一个代码,自动做到这一点。

我试过这个:

Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim pt As PivotTable For Each pt In ActiveSheet.PivotTables columns.autofit Next pt End Sub 

有些东西虽然不起作用,但我不确定它是什么。 任何人都可以看到代码的问题? 谢谢!

为了修改PivotTable表中的列宽,您需要解决pt.TableRange1.Columns属性。

试试下面的代码:

 Dim pt As PivotTable For Each pt In ActiveSheet.PivotTables pt.TableRange1.Columns.AutoFit Next pt