2016-07-26 7 views
1

Der folgende Code funktioniert für einen Pivot-Tabelle-Datenbereich auf einem Blatt, das, wenn "SelectionChange" aktiviert ist (jeden Klick) alle "PivotTable3" auf jedem Arbeitsblatt aktualisiert. Es funktioniert normalerweise, wenn ich es bearbeite und es erneut versucheworksheet_change Laufzeitfehler

FRAGE: wie man "Worksheet_Change" dafür verwendet? Ich habe immer einen Laufzeitfehler erhalten und kann nicht herausfinden, die Syntax

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 

Antwort

2

Sie sich auf das gleiche Blatt jedes Mal - Sie brauchen so etwas wie:

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

Keine Notwendigkeit für den PivRefresh() Unter