ich habe folgendes Problem: Ich habe in einer Tabelle insgesamt 3 Pivot Tabellen erstellt, die sich alle aus dem selben Arbeitsblatt speisen (zwei greifen sogar auf die selben Zellen zu). Damit sich diese Tabellen angenehmer aktualisieren lassen, habe ich einen Button erstellt, der auf Knopfdruck ein Makro laufen lässt, das die Pivot Tabellen aktualisiert und dabei auch ein paar kosmetische Anpassungen von Zellfarbe und Schriftfarbe macht. Bis auf die Filterfunktionen der Pivot Tabelle soll dabei der Rest des Arbeitsblattes geschützt werden (nur ungeschützte Zellen sollen auswählbar sein). Ohne geschütztes Arbeitsblatt läuft das Makro einwandfrei. Wenn ich nun aber das Makro in einem geschützten Arbeitsblatt per Knopfdruck laufen lasse, bekomme ich folgende Antwort:
"Dieser Befehl kann nicht ausgeführt werden, während ein geschütztes Blatt einen anderen PivotTable Bericht enthält, der auf den selben Quelldaten basiert." Die Fehlermeldung habe ich noch einmal unten angehängt.
Könnt ihr mir helfen, wie ich das Problem lösen kann? Vielen Dank schon einmal an alle!
01.04.2017, 10:26 (Dieser Beitrag wurde zuletzt bearbeitet: 01.04.2017, 10:27 von Rabe.)
und Du mußt vielleicht gleichzeitig auch das Blatt freigeben, aus dem die Pivot die Daten bezieht oder das Blatt mit der anderen Pivot, wie die Fehlermeldung schon sagt: "Dieser Befehl kann nicht ausgeführt werden, während ein geschütztes Blatt einen anderen PivotTable Bericht enthält, der auf den selben Quelldaten basiert."
ich habe leider doch noch ein kleines Problem entdeckt :( Und zwar klappt zwar jetzt das Aktualisieren der Pivot Tabellen, allerdings kann ich nach dem Aktualisieren die Filterfunktion nicht mehr anwählen. Ich müsste aber die Filter auch nach dem Aktualisieren noch bedienen können. Ich habe schon in den Blatt-Schutz Funktionen die Option "PivotTable & PivotChart verwenden" aktiviert. Es funktioniert leider trotzdem nicht. Habt ihr eine Idee?
03.04.2017, 11:16 (Dieser Beitrag wurde zuletzt bearbeitet: 03.04.2017, 11:28 von WillWissen.
Bearbeitungsgrund: Makro in Codetags gesetzt
)
Hi,
danke für die schnelle Antwort, es geht leider immer noch nicht... So ein Mist :D Ich hänge mal den Code an, vielleicht hab ich ja einen Fehler gemacht. Der relevante Teil ist ganz unten. Ich kann z.B. kann nicht ":=" angeben, da wird mir angezeigt: "Fehler beim Kompilieren. Fehler in der Syntax". Vielleicht liegt der Fehler ja dort.
Code:
Sub Pivot_refresh_colour_font() ActiveSheet.Unprotect ' ' Pivot_refresh_colour_font Makro ' ' Range("C139").Select ActiveSheet.PivotTables("PivotTable2").PivotCache.Refresh ActiveWindow.ScrollColumn = 3 ActiveWindow.ScrollColumn = 7 ActiveWindow.ScrollColumn = 8 ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 10 ActiveWindow.ScrollRow = 126 ActiveWindow.ScrollRow = 19 ActiveWindow.ScrollRow = 6 ActiveWindow.ScrollRow = 1 Range("Y3").Select ActiveSheet.PivotTables("PivotTable3").PivotCache.Refresh Range("Y3:Y79").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.149998474074526 End With ActiveWindow.ScrollColumn = 9 ActiveWindow.ScrollColumn = 1 ActiveWindow.ScrollRow = 2 ActiveWindow.ScrollRow = 41 ActiveWindow.ScrollRow = 91 ActiveWindow.ScrollRow = 116 ActiveWindow.SmallScroll Down:=9 Range("B139:B140").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 6299648 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With Selection.Font.Bold = True Range("F139:F140").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 6299648 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With Selection.Font.Bold = True Range("C139:C140").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.349986266670736 .PatternTintAndShade = 0 End With With Selection.Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Selection.Font.Bold = True Range("G139:G140").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = -0.349986266670736 .PatternTintAndShade = 0 End With With Selection.Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Selection.Font.Bold = True Rows("140:140").RowHeight = 15.6 Rows("141:164").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection.Font .ColorIndex = xlAutomatic .TintAndShade = 0 End With Range("A141").Select Rows("140:140").RowHeight = 18.6 Range("C139:C140").Select Selection.Locked = False Selection.FormulaHidden = False Range("G139:G140").Select Selection.Locked = False Selection.FormulaHidden = False [b] ActiveSheet.Protect[/b] [b] DrawingObjects = True[/b] [b] Contents = True[/b] [b] Scenarios = True[/b] [b] Userinterfaceonly = True[/b] [b] AllowSorting = True[/b] [b] AllowFiltering = True[/b] [b] AllowUsingPivotTables = True[/b] [b] ActiveSheet.EnableAutoFilter = True[/b] End Sub