Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于透视表刷新的VBA列宽更新_Vba_Excel_Pivot_Pivot Table - Fatal编程技术网

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

用于透视表刷新的VBA列宽更新,vba,excel,pivot,pivot-table,Vba,Excel,Pivot,Pivot Table,我有一个数据透视表和一个切片器,我需要一个代码,在每次更新切片器(它更新数据透视)时更新每一列的宽度以适应该值。我知道,如果我使用Pivot table>options,我无法选择一个显示“更新时自动调整列宽”的框,但它不起作用。因此,我正在尝试制作一个自动执行该操作的代码 我试过这个: Private Sub Workbook_SheetActivate(ByVal Sh As Object) Dim pt As PivotTable For Each pt In Active

我有一个数据透视表和一个切片器,我需要一个代码,在每次更新切片器(它更新数据透视)时更新每一列的宽度以适应该值。我知道,如果我使用Pivot table>options,我无法选择一个显示“更新时自动调整列宽”的框,但它不起作用。因此,我正在尝试制作一个自动执行该操作的代码

我试过这个:

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

但有些东西不起作用,我不确定它是什么。有人看到代码有问题吗?谢谢大家!

要修改数据透视表中的列宽,需要处理
pt.TableRange1.columns
属性

请尝试以下代码:

Dim pt As PivotTable

For Each pt In ActiveSheet.PivotTables
    pt.TableRange1.Columns.AutoFit
Next pt

要修改数据透视表中的列宽,您需要处理
pt.TableRange1.columns
属性

请尝试以下代码:

Dim pt As PivotTable

For Each pt In ActiveSheet.PivotTables
    pt.TableRange1.Columns.AutoFit
Next pt

你能拿出每个pt的
部分的代码,只需说出
列就可以了。autofit
?@KateLO你读过我的答案和代码了吗?有什么反馈吗?你能拿出每个pt
零件的
表格,只说
列吗?autofit
?@KateLO你读过我的答案和代码了吗?有什么反馈吗?