Zelle sperren in Abhängigkeit zu anderer Zelle
Schritt-für-Schritt-Anleitung
Um Excel Zellen zu sperren in Abhängigkeit zu einer anderen Zelle, kannst du ein VBA-Makro verwenden. Folge diesen Schritten:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Wähle im Projektfenster dein Arbeitsblatt aus.
-
Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf dein Projekt klickst und „Einfügen” > „Modul” auswählst.
-
Kopiere den folgenden Code in das Modul:
Sub Schaltfläche2_BeiKlick()
Dim x As Integer
ActiveSheet.Unprotect
For x = 2 To 7 'Anpassen je nach Anzahl der Zeilen
If Cells(x, 3).Value = "bestätigt" Then
Cells(x, 2).Locked = True
Cells(x, 3).Locked = True
Else
Cells(x, 2).Locked = False
Cells(x, 3).Locked = False
End If
Next
ActiveSheet.Protect
End Sub
-
Schließe den VBA-Editor und gehe zurück zu deinem Arbeitsblatt.
-
Füge einen Button hinzu, der das Makro ausführt: Entwicklertools > Einfügen > Button.
-
Weise dem Button das vorgenannte Makro zu.
Jetzt wird beim Klicken auf den Button überprüft, ob in Spalte C der Wert „Bestätigt” steht. In diesem Fall werden die entsprechenden Zellen in Spalte B und C gesperrt.
Häufige Fehler und Lösungen
-
Fehler: "Die Zelle oder das Diagramm, das Sie ändern möchten, ist schreibgeschützt."
- Lösung: Stelle sicher, dass der Blattschutz vor dem Sperren der Zellen mit
ActiveSheet.Unprotect deaktiviert ist.
-
Fehler: Änderungen werden nicht übernommen.
- Lösung: Überprüfe, ob der Zellschutz für alle Zellen aktiviert ist. Du kannst dies tun, indem du alle Zellen markierst, mit der rechten Maustaste klickst und „Zellen formatieren” > „Schutz” aufrufst.
Alternative Methoden
Falls du keine VBA-Makros verwenden möchtest, kannst du auch die Funktion „Datenüberprüfung” nutzen, um die Eingaben in den Zellen zu steuern. Diese Methode ist jedoch nicht so flexibel wie das Sperren von Zellen.
- Wähle die Zelle, die du schützen möchtest.
- Gehe zu „Daten” > „Datenüberprüfung”.
- Wähle die Kriterien für die Eingabe aus, zum Beispiel nur Werte, die „Bestätigt” sind.
Praktische Beispiele
Angenommen, du hast eine Tabelle mit den Spalten „Monat”, „Wert” und „Status”. Wenn der Status auf „Bestätigt” gesetzt wird, sollen die zugehörigen Werte nicht mehr verändert werden können. Mit dem obenstehenden Makro wird dies erreicht.
- In Spalte C gib die Werte „Geschätzt” oder „Bestätigt” ein.
- Klicke auf den Button, um das Makro auszuführen.
- Überprüfe, ob die Werte in Spalte B und C entsprechend gesperrt wurden.
Tipps für Profis
- Vorbereitung: Entferne den Zellschutz aller Zellen, bevor du dein Makro ausführst. So hast du mehr Kontrolle über die Eingaben.
- Sichtbarkeit: Nutze bedingte Formatierungen, um visuell hervorzuheben, welche Zellen gesperrt sind.
- Dokumentation: Kommentiere deinen VBA-Code, um die Funktionsweise für andere Nutzer oder später für dich selbst klarer zu machen.
FAQ: Häufige Fragen
1. Wie kann ich das Makro anpassen, um mehr Zeilen zu überprüfen?
Du kannst die Zeilenanzahl in der For-Schleife anpassen. Ändere For x = 2 To 7 auf die gewünschte Zeilenanzahl.
2. Was passiert, wenn ich versuche, eine gesperrte Zelle zu ändern?
Du erhältst eine Fehlermeldung, dass die Zelle oder das Diagramm, das du ändern möchtest, sich auf einem schreibgeschützten Blatt befindet.
3. Kann ich auch ganze Spalten sperren?
Ja, du kannst den Code so erweitern, dass ganze Spalten gesperrt werden, indem du Cells(x, 1).Locked = True hinzufügst, um die gesamte Spalte zu sperren.
Mit diesen Anleitungen solltest du in der Lage sein, deine Excel Zellen zu schützen und das Sperren von Zellen in Excel effektiv zu nutzen.