Die Fehlermeldung tritt auf, weil das Arbeitsblatt, auf dem sich die Pivot-Tabelle befindet, durch den Blattschutz geschützt ist. Wenn ein Arbeitsblatt mit Blattschutz geschützt wird, werden standardmäßig alle Elemente der Benutzeroberfläche, wie z. B. Schaltflächen, Eingabefelder usw., weiterhin aktiviert, aber Änderungen an der Arbeitsmappe durch VBA-Code sind nicht möglich. Wenn Sie den Blattschutz aktivieren, indem Sie die Option "UserInterFaceOnly:=True" verwenden, können Sie jedoch Änderungen an der Pivot-Tabelle durch VBA-Code vornehmen.
Um die Pivot-Tabelle zu ändern, müssen Sie den Blattschutz entfernen, bevor Sie Änderungen an der Pivot-Tabelle vornehmen. Sie können den Blattschutz durch den folgenden Code entfernen:
Dim myWorksheet As Worksheet For Each myWorksheet In ThisWorkbook.Worksheets myWorksheet.Unprotect Password:="Blattschutz" Next
Wenn Sie die Pivot-Tabelle geändert haben, können Sie den Blattschutz wieder aktivieren, indem Sie denselben Code verwenden, aber die "Protect" -Methode verwenden:
Dim myWorksheet As Worksheet For Each myWorksheet In ThisWorkbook.Worksheets myWorksheet.Protect Password:="Blattschutz", UserInterFaceOnly:=True Next
Sie können diesen Code in Ihre "Filter_Pivot" -Methode einfügen, um den Blattschutz vorübergehend zu entfernen und die Pivot-Tabelle zu ändern:
Sub Filter_Pivot()
Dim pTbl As PivotTable Dim pvFld As PivotField Dim strFilter As String
'Blattschutz entfernen Dim myWorksheet As Worksheet For Each myWorksheet In ThisWorkbook.Worksheets myWorksheet.Unprotect Password:="Blattschutz" Next
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
'Blattschutz wieder aktivieren For Each myWorksheet In ThisWorkbook.Worksheets myWorksheet.Protect Password:="Blattschutz", UserInterFaceOnly:=True Next
End Sub
Beachten Sie jedoch, dass das Entfernen des Blattschutzes ein potenzielles Sicherheitsrisiko darstellen kann, da Benutzer möglicherweise unerwünschte Änderungen an der Arbeitsmappe vornehmen können. Sie sollten daher sicherstellen, dass Ihre Arbeitsmappe an einem sicheren Ort gespeichert ist und nur von vertrauenswürdigen Personen bearbeitet wird.
|