2016-07-26 43 views
1

下面的代碼適用於表格中的數據透視表數據範圍,當「SelectionChange」被激活時(每次點擊),它將更新每個工作表上的所有「數據透視表3」。它通常工作,除非我編輯它並重試worksheet_change運行時錯誤

問題:如何使用「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 

回答

2

你引用同一個表的語法 - 你需要的東西,如:

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

無需爲PivRefresh()