Mit Microsoft Excel haben Sie die Möglichkeit, Zellen durch bedingte Formatierungen hervorzuheben. Diese Funktion ermöglicht es Ihnen, das Erscheinungsbild von Zellen, also Text- und Füllfarbe, automatisch anzupassen, sobald der Zellinhalt bestimmten von Ihnen definierten Regeln entspricht. Diese Basisfunktion ist ohne zusätzliche Konfigurationen nutzbar. Für das Sperren von Zellen basierend auf deren Farbe ist jedoch ein kleines VBA-Skript erforderlich.
Die Farbgebung einer Zelle kann entweder durch bedingte Formatierungen oder manuell erfolgen. Das VBA-Skript ist nicht auf die bedingte Formatierung angewiesen; es genügt, dass die Zelle eine bestimmte Farbe aufweist.
Zellen mittels Farbe sperren
Bevor Sie ein VBA-Skript erstellen können, ist es wichtig, den Farbcode der Zelle zu kennen, auf die Sie sich beziehen möchten. VBA identifiziert Farben nicht visuell, sondern über spezifische numerische Codes.
Als ersten Schritt müssen Sie der betreffenden Zelle eine Farbe zuweisen. In unserem Beispiel wählen wir ein einfaches Gelb für Demonstrationszwecke. Sollten Sie eine andere Farbe bevorzugen, nutzen Sie diese Webseite, um den entsprechenden Farbcode zu ermitteln. Der Farbcode für Gelb ist #FFFF00.
Aktivieren Sie in Excel die „Entwickler“-Registerkarte und öffnen Sie den Visual Basic Editor. Fügen Sie das nachfolgende Skript in das Modul „Diese Arbeitsmappe“ ein. Dieses Skript wurde von dem Superuser Dave verfasst.
Sub WalkThePlank() Dim colorIndex As Integer colorIndex = FFFF00 Dim rng As Range For Each rng In ActiveSheet.UsedRange.Cells Dim color As Long color = rng.Interior.ColorIndex If (color = colorIndex) Then rng.Locked = True Else rng.Locked = False End If Next rng End Sub
Nach dem Ausführen des Skripts werden alle Zellen mit der ausgewählten Farbe gesperrt. Den Farbcode für Ihre Farbe müssen Sie in dieser Zeile des Skripts hinterlegen:
colorIndex = FFFF00
Die Zeichenfolge FFFF00 steht hier exemplarisch für Gelb. Ersetzen Sie diesen Code durch den Farbcode Ihrer Wahl. Idealerweise verwenden Sie eine Grundfarbe. Speichern Sie die Excel-Datei nach dem Hinzufügen des Skripts als eine Datei mit Makros, andernfalls wird das VBA-Skript nicht gespeichert.
Es ist wichtig zu erwähnen, dass die gesperrten Zellen sich relativ einfach wieder entsperren lassen. Diese Sperre stellt keinen Passwortschutz dar, der das Ändern der Zelleninhalte durch andere Personen verhindert. Es handelt sich um eine übliche Sperre, die in erster Linie unabsichtliche Änderungen innerhalb der Datei vermeiden soll.