Hallo,
ich lasse mein Workbook beim Start durch folgenden Code für Benutzereingaben sperren:
Private Sub Workbook_Open()
Dim myWorksheet As Worksheet
For Each myWorksheet In ThisWorkbook.Worksheets
myWorksheet.Protect Password:="Blattschutz", UserInterFaceOnly:=True
Next
End Sub
Durch "UserInterFaceOnly:=True" sollte es aber eigentlich möglich sein meine Pivot Tabelle auf einem Arbeitsblatt per VBA zu steuern. Ich möchte die Pivot Tabelle nach einem Zellenwert auf einem anderen Sheet (natürlich vom Schutz ausgenommen) filtern lassen:
Sub Filter_Pivot()
Dim pTbl As PivotTable
Dim pvFld As PivotField
Dim strFilter As String
Set pTbl = Sheets("Pivot").PivotTables("PivotTable1")
pTbl.ClearAllFilters
Set pvFld = Sheets("Pivot").PivotTables("PivotTable1").PivotFields("Werkzeug")
strFilter = ActiveWorkbook.Sheets("UserInterface").Range("B5").Value
pvFld.PivotFilters.Add2 xlCaptionContains, , strFilter
Sheets("Pivot").Select
ActiveWindow.ScrollRow = 1
End Sub
Leider kommt bereits bei "pTbl.ClearAllFilters" die Fehlermeldung: PivotTable kann bei schreibgeschütztem Blatt nicht bearbeitet werden.
Kann mir jemand erklären woran das liegt und wie ich das Problem lösen kann?
Grüße Fabian
|