Registriert seit: 07.10.2019
Version(en): Microsoft 365 ProPlus
07.10.2019, 15:07
(Dieser Beitrag wurde zuletzt bearbeitet: 07.10.2019, 15:15 von WillWissen.
Bearbeitungsgrund: Formatierung
)
Hallo!
Ich möchte einstellen, dass wenn ich in einer bestimmen Zelle ein X setze, eine andere Zelle gesperrt wird. Wie kann ich das machen?
Vielen Dank im Voraus!
Lg
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Moin,
mit Formel ist das nicht möglich. Ob ein Makro, sofern du VBA einsetzen darfst und willst, dich zum Ziel führt, müssen dir die VBA-Spezies sagen. Dazu müsstest du aber sicherlich mitteilen, in welchem Bereich dein "x" geschrieben wird und welche Zelle(n) gesperrt wird/werden.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo
das geht am einfachsten über Blattschutz mit Target Makro, der passende Code gehört ins Blatt das geschützt werden soll. Der untere Code prüft ob in Zelle "B2" eine Eingabe mit "X" erfolgt ist, und sperrt Zelle "C4", oder gibt sie wieder frei beim löschen von "X". Der Blattschutz ist dabei immer aktiv.
Zu beachten ist das vorher alle Zellen (ganzes Blatt) für die
normale Eingaben freigeschaltet sein muss! Dazu mit F5 das Makro "Blatt frischalten" starten. Der Blattschutz schützt dann nur die Zellen, die als "Geschützte Zellen" angemeldet sind. Man kann so auch Formelbereiche mit schützen.
mfg Gast 123
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$2" Then Exit Sub
ActiveSheet.Unprotect
Cells.Locked = False
If Range("B2").Value = "X" Then
Range("C4").Locked = True
Else
Range("C4").Locked = False
End If
ActiveSheet.Protect
End Sub
Sub Blatt_freischalten()
ActiveSheet.Unprotect
'Alle Zellen frteischalten
Cells.Locked = False
'Beispiel: Formelbereich schützen
Range("EE4:G10").Locked = True
End Sub