Makro und Blattschutz in Excel: So funktioniert's
Schritt-für-Schritt-Anleitung
-
Öffne dein Excel-Dokument und aktiviere die Entwicklertools, falls noch nicht geschehen. Gehe dazu auf Datei
> Optionen
> Menüband anpassen
und aktiviere das Kästchen für Entwicklertools.
-
Erstelle ein Makro für dein Diagramm. Gehe zu Entwicklertools
> Makros
, gib einen Namen ein und klicke auf Erstellen
.
-
Füge den notwendigen Code hinzu. Um die Farbänderung der Säulen zu ermöglichen, könnte dein Code folgendermaßen aussehen:
Sub FarbenÄndern()
Worksheets("Deine Tabelle").Unprotect Password:="Dein Password"
' Hier kommt der Code zur Farbänderung
Worksheets("Deine Tabelle").Protect Password:="Dein Password"
End Sub
-
Füge einen Command Button hinzu. Gehe zu Entwicklertools
> Einfügen
und wähle den Button aus. Ziehe ihn auf dein Blatt und weise das zuvor erstellte Makro zu.
-
Schütze dein Blatt. Gehe zu Überprüfen
> Blatt schützen
. Aktiviere die gewünschten Optionen und gib ein Passwort ein.
Häufige Fehler und Lösungen
-
Makro funktioniert nicht nach Blattschutz: Dies liegt oft daran, dass das Blatt geschützt ist. Stelle sicher, dass du das Blatt im Makro zu Beginn mit Unprotect
und am Ende mit Protect
entsperrst, wie im obigen Beispiel gezeigt.
-
Laufzeitfehler '1004': Dieser Fehler tritt auf, wenn du versuchst, eine Eigenschaft eines geschützten Blattes zu ändern. Überprüfe, ob das Blatt ungeschützt ist, bevor du Änderungen vornimmst.
Alternative Methoden
Falls das Aktivieren von Makros nicht funktioniert, könntest du auch überlegen, die Bedingte Formatierung zu verwenden, um die Farben der Diagramme basierend auf bestimmten Kriterien zu ändern. Dies erfordert kein Makro und funktioniert auch bei aktivem Blattschutz.
Praktische Beispiele
Angenommen, du hast ein Säulendiagramm, das die Umsätze nach Monaten zeigt. Du möchtest, dass die Farbe der Säulen abhängig von der Höhe der Umsätze variiert. Dein Makro könnte dann so aussehen:
Sub UmsatzFarbenÄndern()
Dim i As Integer
Worksheets("Umsatz").Unprotect Password:="MeinPasswort"
For i = 1 To 12 ' Für jeden Monat
If Worksheets("Umsatz").Cells(i + 1, 2).Value > 1000 Then
Worksheets("Umsatz").ChartObjects(1).Chart.SeriesCollection(1).Points(i).Interior.Color = RGB(0, 255, 0) ' Grün
Else
Worksheets("Umsatz").ChartObjects(1).Chart.SeriesCollection(1).Points(i).Interior.Color = RGB(255, 0, 0) ' Rot
End If
Next i
Worksheets("Umsatz").Protect Password:="MeinPasswort"
End Sub
Tipps für Profis
-
Verwende Option Explicit am Anfang deines Makros, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
-
Prüfe die Sicherheitseinstellungen deiner Excel-Version. Manchmal kann es sein, dass die Ausführung von Makros blockiert wird. Stelle sicher, dass du die Makros aktivieren konntest, indem du zu Datei
> Optionen
> Trust Center
> Einstellungen für das Trust Center
gehst.
FAQ: Häufige Fragen
1. Warum funktioniert mein Makro nicht, nachdem ich das Blatt geschützt habe?
Das liegt daran, dass der Schutz Änderungen an der Tabelle verhindert. Du musst das Blatt im Makro vor der Änderung mit Unprotect
entsperren.
2. Wie aktiviere ich Makros in Excel?
Gehe zu Datei
> Optionen
> Trust Center
> Einstellungen für das Trust Center
und aktiviere die Option, die das Ausführen von Makros erlaubt.