Tutorial: Zellen basierend auf Farbe oder Format sperren/entsperren

Melden

Hier ist ein ausführliches Tutorial, wie du in Excel Zellen basierend auf ihrer Farbe oder anderen Formatierungen sperren oder entsperren kannst.

Da Excel keine integrierte Standardfunktion ("Klicken und Fertig") für das Sperren basierend auf Formaten hat, nutzen wir zwei Methoden: die manuelle Suche (für einmalige Aufgaben) und VBA-Makros (für Automatisierung).


In Excel sind standardmäßig alle Zellen als "Gesperrt" markiert. Diese Sperrung wird jedoch erst aktiv, wenn du den Blattschutz einschaltest. Um Zellen basierend auf ihrer Farbe zu steuern, müssen wir diese Eigenschaft gezielt ändern.


Methode 1: Manuelle Methode (ohne Programmierung)

Diese Methode eignet sich am besten, wenn du eine Tabelle einmalig nach Farben sortieren und schützen möchtest.

Schritt 1: Alle Zellen entsperren

  1. Markiere das gesamte Blatt (Strg + A).
  2. Drücke Strg + 1 (Zellen formatieren).
  3. Gehe zum Reiter Schutz.
  4. Deaktiviere den Haken bei Gesperrt und klicke auf OK.

Schritt 2: Zellen nach Format auswählen

  1. Drücke Strg + F (Suchen).
  2. Klicke auf die Schaltfläche Optionen >>.
  3. Klicke neben dem Feld "Suchen nach" auf Format... -> Format von Zelle wählen.
  4. Klicke auf eine Zelle mit der Farbe/dem Format, das du sperren möchtest.
  5. Klicke auf Alle suchen.
  6. Drücke in der Ergebnisliste unten Strg + A, um alle gefundenen Zellen gleichzeitig im Tabellenblatt zu markieren.
  7. Schließe das Suchen-Fenster.

Schritt 3: Markierte Zellen sperren

  1. Die gewünschten Zellen sind nun markiert. Drücke erneut Strg + 1.
  2. Gehe zum Reiter Schutz und setze den Haken bei Gesperrt.

Schritt 4: Blattschutz aktivieren

  1. Gehe zum Reiter Überprüfen.
  2. Klicke auf Blatt schützen.
  3. Vergebe ein Passwort und klicke auf OK. Nun sind nur die farbigen Zellen gesperrt.

Methode 2: Automatisierung mit VBA (Makro)

Wenn du viele Zellen hast oder dies öfter tun musst, ist ein Makro effizienter.

Schritt 1: Den VBA-Editor öffnen

  1. Drücke Alt + F11, um den VBA-Editor zu öffnen.
  2. Gehe auf Einfügen -> Modul.

Schritt 2: Den Code kopieren

Kopiere den folgenden Code in das Modul:

Sub SperreNachFarbe()
    Dim rZelle As Range
    Dim ZielFarbe As Long

    ' Definition der Farbe (hier: Rot). 
    ' Du kannst auch RGB(255, 0, 0) nutzen oder die Farbe einer Referenzzelle nehmen.
    ZielFarbe = RGB(255, 0, 0) ' Ändere dies in deine gewünschte Farbe

    ' Blattschutz aufheben, um Änderungen vorzunehmen
    ActiveSheet.Unprotect Password:="DeinPasswort"

    ' Erstmal alle Zellen entsperren (optional, je nach Bedarf)
    Cells.Locked = False

    ' Jede Zelle im genutzten Bereich prüfen
    For Each rZelle In ActiveSheet.UsedRange
        If rZelle.Interior.Color = ZielFarbe Then
            rZelle.Locked = True
        End If
    Next rZelle

    ' Blattschutz wieder aktivieren
    ActiveSheet.Protect Password:="DeinPasswort"

    MsgBox "Zellen mit der Zielfarbe wurden gesperrt!", vbInformation
End Sub

Schritt 3: Das Makro anpassen

  • Farbe: Im Code oben wird RGB(255, 0, 0) (Rot) verwendet. Wenn du die Farbe einer bestimmten Zelle (z.B. A1) als Referenz nehmen willst, schreibe: ZielFarbe = Range("A1").Interior.Color.
  • Andere Formate: Möchtest du z.B. alle fettgedruckten Zellen sperren? Ersetze die If-Zeile durch: If rZelle.Font.Bold = True Then

Schritt 4: Makro ausführen

  1. Schließe den VBA-Editor.
  2. Drücke Alt + F8.
  3. Wähle SperreNachFarbe und klicke auf Ausführen.

Wichtige Hinweise

  1. Reihenfolge einhalten: Das Sperren von Zellen hat KEINEN Effekt, solange das Blatt nicht geschützt ist (Überprüfen > Blatt schützen).
  2. Bedingte Formatierung: Achtung! Wenn Zellen ihre Farbe durch eine Bedingte Formatierung erhalten, erkennt VBA dies nicht mit Interior.Color. In diesem Fall müsste im Makro rZelle.DisplayFormat.Interior.Color verwendet werden (verfügbar ab Excel 2010).
  3. Dateiformat: Wenn du ein Makro verwendest, musst du die Datei als Excel-Arbeitsmappe mit Makros (.xlsm) speichern.

Profi-Tipp: Welchen Farb-Code hat meine Zelle?

Um den genauen RGB-Code für dein Makro herauszufinden, klicke auf die Zelle, gehe zu Füllfarbe > Weitere Farben > Benutzerdefiniert. Dort siehst du die Werte für Rot, Grün und Blau.

0