worksheet_change运行时错误

时间:2016-07-26 17:36:42

标签: excel excel-vba pivot-table selectionchanged vba

下面的代码适用于工作表上的数据透视表数据范围,当激活“SelectionChange”(每次点击)时,它会更新每个工作表上的所有“数据透视表3”。它通常有效,除非我编辑它并重试

问题:如何使用“Worksheet_Change”?我总是遇到运行时错误,无法弄清楚语法

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For Each ws In ActiveWorkbook.Worksheets
Call PivRefresh
Next
End Sub


Sub PivRefresh()
ActiveSheet.PivotTables("PivotTable3").PivotCache.refresh
End Sub

1 个答案:

答案 0 :(得分:2)

您每次都引用相同的表格 - 您需要以下内容:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    For Each ws In ActiveWorkbook.Worksheets
        ws.PivotTables("PivotTable3").PivotCache.Refresh
    Next
End Sub

不需要PivRefresh() sub