Supportnet / Forum / Tabellenkalkulation
Formel zum Zellen sperren
Frage
Guten Morgen*
ich frage mich gerade, ob ich irgendwie eine bestimmte Zelle sperren kann, wenn ein anderes Feld gefüllt ist.
Also mein Problem: Ich habe zwei Zellen, wenn ich in die eine was eintrage muss die Andere gesperrt werden, damit dort nix eingetragen wird und umgekehrt. Ich habe es schon über "bedingte Formatierungen" versucht...leider ohne Erfolg.
Hat jemand eine Idee?? Vielleicht gibt es ja eine Formel, mit der ich andere Zellen sperren kann oder auch nicht... diese könnte ich dann ja vielleicht bei den Bedingten Formatierungen eintragen
Besten Dank,
Gruß Tobi
Antwort 1 von Hajo_Zi
Hallo Tobi,
das geht nur per VBA und die Tabelle muß dazu geschützt sein in der einfachen Variante.
Gruß Hajo
das geht nur per VBA und die Tabelle muß dazu geschützt sein in der einfachen Variante.
Gruß Hajo
Antwort 2 von Tobi80
Hallo Hajo,
vielen Dank, dann werde ich das wohl nur farblich kennzeichnen.
Gruß Tobi
vielen Dank, dann werde ich das wohl nur farblich kennzeichnen.
Gruß Tobi
Antwort 3 von CaroS
Hallo Tobi,
das geht mit einer einfachen Gültigkeitsprüfung. Nehmen wir als Beispiel die beiden Zellen B2 und C2, in die nur etwas eingetragen werden darf, wenn die jeweils andere noch leer ist.
B2 markieren -- Daten -- Gültigkeit... -- Zulassen: Benutzerdefiniert -- Formel:
=WENN(C2 = ""; B2; "")
-- Eingabemeldung und/oder Fehlermeldung ausfüllen, damit der Benutzer bescheid weiß -- OK.
C2 markieren -- Daten -- Gültigkeit... -- Zulassen: Benutzerdefiniert -- Formel:
=WENN(B2 = ""; C2; "")
-- Eingabemeldung und/oder Fehlermeldung ausfüllen, damit der Benutzer bescheid weiß -- OK.
Gruß,
CaroS
das geht mit einer einfachen Gültigkeitsprüfung. Nehmen wir als Beispiel die beiden Zellen B2 und C2, in die nur etwas eingetragen werden darf, wenn die jeweils andere noch leer ist.
B2 markieren -- Daten -- Gültigkeit... -- Zulassen: Benutzerdefiniert -- Formel:
=WENN(C2 = ""; B2; "")
-- Eingabemeldung und/oder Fehlermeldung ausfüllen, damit der Benutzer bescheid weiß -- OK.
C2 markieren -- Daten -- Gültigkeit... -- Zulassen: Benutzerdefiniert -- Formel:
=WENN(B2 = ""; C2; "")
-- Eingabemeldung und/oder Fehlermeldung ausfüllen, damit der Benutzer bescheid weiß -- OK.
Gruß,
CaroS
Antwort 4 von coros
Hallo,
oder es geht über VBA. Mit nachfolgendem Code wird in Abhängigkeit die Zelle A1 oder B1 für Eingaben gesperrt. Wenn in Zelle A1 etwas eingetragen wird, kann in Zelle B1 nichts mehr eingegeben werden, da geschützt und umgekehrt. Dazu musst Du aber alle Zellen mal markieren und mit der rechten Maustaste in den markierten Bereich klicken. In dem Menü wählst Du "Zellen formatieren..." aus und wechselst dort dann in das Registerblatt "Schutz". Dor entferne den Haken vor "Gesperrt" und klicke auf OK. Kopiere vorher noch nachfolgenden VBA- Code in das VBA- Projekt des Tabellenblattes, in dem die Zellen sich gegenseitig sperren sollen.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
oder es geht über VBA. Mit nachfolgendem Code wird in Abhängigkeit die Zelle A1 oder B1 für Eingaben gesperrt. Wenn in Zelle A1 etwas eingetragen wird, kann in Zelle B1 nichts mehr eingegeben werden, da geschützt und umgekehrt. Dazu musst Du aber alle Zellen mal markieren und mit der rechten Maustaste in den markierten Bereich klicken. In dem Menü wählst Du "Zellen formatieren..." aus und wechselst dort dann in das Registerblatt "Schutz". Dor entferne den Haken vor "Gesperrt" und klicke auf OK. Kopiere vorher noch nachfolgenden VBA- Code in das VBA- Projekt des Tabellenblattes, in dem die Zellen sich gegenseitig sperren sollen.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Unprotect
If Not IsEmpty(Range("A1")) Then
Range("B1").Locked = True
Else
Range("B1").Locked = False
End If
If Not IsEmpty(Range("B1")) Then
Range("A1").Locked = True
Else
Range("A1").Locked = False
End If
ActiveSheet.Protect
End SubIch hoffe, Du kommst klar. Bei Fragen melde Dich bitte.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von tobi80
Super vielen Dank Leute!!
Ich glaube ich hab es.
Wünsche noch einen schönen Tag....und nochmals Danke für die nette hilfe...
Gruß Tobi
Ich glaube ich hab es.
Wünsche noch einen schönen Tag....und nochmals Danke für die nette hilfe...
Gruß Tobi

