Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen sperren, wenn in andere Zelle Inhalt

Zellen sperren, wenn in andere Zelle Inhalt
09.05.2017 17:58:12
Bonduca
Hallo zusammen,
Ich betrachte den Bereich A1:D50.
Wird beispielsweise in B1 ein "x" eingetragen, darf in A1, C1 und D1 kein Eintrag mehr möglich sein.
Das gleiche gilt für Zeilen 2 bis 50.
Wisst ihr wie man das umsetzen kann?
Danke!
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mittels DATENÜBERPRÜFUNG ...
09.05.2017 18:03:30
...
Hallo,
... markiere den Bereich dann aktiviere Datenüberprüfung und da benutzerdefiniert Formel =ANZAHL2($A1:$D1)=1
Gruß Werner
.. , - ...
AW: Zellen sperren, wenn in andere Zelle Inhalt
09.05.2017 18:05:24
Hajo_Zi

Tabelle2
 ABCD
11   
2 2  
3    
4    
5    

Daten, Gültigkeit  
Zelle Zulassen Daten Wert1 Wert2 Leere Zellen ignorieren Zellendropdown Titel Eingabe-meldung Eingabe-meldung Titel Fehler Fehler-meldung Typ Fehler-meldung Fehler- meldung anzeigen Eingabe- meldung anzeigen
A1: D5BenutzerdefiniertZwischen=ANZAHL2($A$1:$D$1)=1     Wahr             StoppWahr   Wahr  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.10 einschl. 64 Bit



Anzeige
absolut falsch
09.05.2017 18:11:45
Hajo_Zi

Tabelle2
 ABCD
11   
2 2  
3    
4  3 
5    

Daten, Gültigkeit  
Zelle Zulassen Daten Wert1 Wert2 Leere Zellen ignorieren Zellendropdown Titel Eingabe-meldung Eingabe-meldung Titel Fehler Fehler-meldung Typ Fehler-meldung Fehler- meldung anzeigen Eingabe- meldung anzeigen
A1: D1BenutzerdefiniertZwischen=ANZAHL2($A1:$D1)=1     Wahr             StoppWahr   Wahr  
A2: D2BenutzerdefiniertZwischen=ANZAHL2($A2:$D2)=1     Wahr             StoppWahr   Wahr  
A3: D3BenutzerdefiniertZwischen=ANZAHL2($A3:$D3)=1     Wahr             StoppWahr   Wahr  
A4: D4BenutzerdefiniertZwischen=ANZAHL2($A4:$D4)=1     Wahr             StoppWahr   Wahr  
A5: D5BenutzerdefiniertZwischen=ANZAHL2($A5:$D5)=1     Wahr             StoppWahr   Wahr  
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.10 einschl. 64 Bit


Gruß Hajo
Anzeige
AW: absolut falsch
10.05.2017 12:33:57
Bon
Super, danke!
Ich möchte es aber nicht einzeln für die 50 Zeilen eintragen :P.
Gibt es eine Möglichkeit das per VBA zu machen?
Ich hab hier mal einen Code aufgenommen und versucht das ganze zu automatisieren, sodass er ständig in eine neue Zeile springt und die Gültigkeit ändert:
For i = 1 To 50
' Hier bekomme ich $A$1:$D$1
aAddress = Cells(i, 1).Address & ":" & Cells(i, 4).Address
Range(aAddress).Select
With Selection.Validation
.Delete
.Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=ANZAHL2( & aAddress& )=""x"""
End With
Next
Bei Formula1 kommt der Fehler... Woran liegt das?
Danke!!
Anzeige
AW: absolut falsch
10.05.2017 16:19:13
Hajo_Zi
man markiert Spalte A:D und Trägt die Gültigkeit ein. was in daran aufwendig?
Gruß Hajo
AW: nicht den gesamten Spaltenbereich ...
10.05.2017 16:56:52
...
Hallo Hajo,
... sondern nur A1:D50 entweder zuvor markieren oder eben den Bereich A1:D1 bis Zeile 50 herunter kopieren.
Gruß Werner
.. , - ...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellen sperren in Excel, wenn eine andere Zelle beschrieben ist


Schritt-für-Schritt-Anleitung

Um Zellen in Excel zu sperren, wenn eine andere Zelle beschrieben ist, kannst du die Funktion der Datenüberprüfung nutzen. Hier ist eine einfache Anleitung:

  1. Bereich auswählen: Markiere den Bereich A1:D50, in dem du die Zellen sperren möchtest.
  2. Datenüberprüfung aktivieren: Gehe zu Daten > Datenüberprüfung.
  3. Benutzerdefinierte Formel eingeben:
    • Wähle "Benutzerdefiniert" aus dem Dropdown-Menü.
    • Gib die folgende Formel ein: =ANZAHL2($A1:$D1)=1.
  4. Eingabemeldung und Fehlermeldung: Du kannst auch eine Eingabemeldung oder eine Fehlermeldung hinzufügen, wenn du möchtest.
  5. Bestätigen: Klicke auf "OK", um die Einstellungen zu speichern.

Jetzt wird die Eingabe in den Zellen A1, C1 und D1 verhindert, wenn in B1 ein Eintrag gemacht wird.


Häufige Fehler und Lösungen

  • Fehler bei der Formel: Stelle sicher, dass du die Formel korrekt eingegeben hast. Überprüfe die Syntax und die verwendeten Zellreferenzen.
  • Zellen nicht gesperrt: Wenn die Zellen nicht gesperrt werden, überprüfe, ob du den richtigen Bereich ausgewählt hast.
  • Keine Eingabe möglich: Wenn du die Meldung erhältst, dass kein Eintrag möglich ist, könnte dies daran liegen, dass die Zelle bereits eine Eingabe enthält. In diesem Fall musst du die Zelle zuerst leeren.

Alternative Methoden

Wenn du die Zellen ohne VBA sperren möchtest, kannst du auch die folgende Methode verwenden:

  1. Bedingte Formatierung: Du kannst die Zellen ausgrauen, wenn eine andere Zelle beschrieben wird, indem du die bedingte Formatierung verwendest.
  2. VBA verwenden: Für komplexere Anforderungen kannst du VBA verwenden, um Zellen dynamisch zu sperren. Hier ein einfaches Beispiel:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("B1:B50")) Is Nothing Then
        If Target.Value <> "" Then
            Target.Offset(0, -1).Locked = True
            Target.Offset(0, 1).Locked = True
            Target.Offset(0, 2).Locked = True
        End If
    End If
End Sub

Praktische Beispiele

Beispiel 1: Wenn in B1 ein "x" eingetragen ist, sollten die Zellen A1, C1 und D1 gesperrt werden. Nutze die oben beschriebene Datenüberprüfung mit der Formel =ANZAHL2($A1:$D1)=1.

Beispiel 2: Verwendung von VBA zur automatischen Anpassung der Gültigkeit in den Zellen A1:D50:

For i = 1 To 50
    aAddress = Cells(i, 1).Address & ":" & Cells(i, 4).Address
    With Range(aAddress).Validation
        .Delete
        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=ANZAHL2(" & aAddress & ")=1"
    End With
Next

Tipps für Profis

  • Verwende Namensbereiche: Damit kannst du die Formeln einfacher und übersichtlicher gestalten.
  • Fehlermeldungen personalisieren: Gestalte benutzerdefinierte Fehlermeldungen, um den Nutzern klarer zu kommunizieren, warum sie keine Eingabe machen können.
  • Datenüberprüfung nutzen: Wenn du eine Zelle sperren möchtest, wenn eine andere Zelle gefüllt ist, kannst du auch die Funktion der „Datenüberprüfung abhängig von einer anderen Zelle“ nutzen.

FAQ: Häufige Fragen

1. Wie kann ich eine Zelle sperren, wenn eine andere Zelle beschrieben ist? Du kannst dies mit der Datenüberprüfung und einer benutzerdefinierten Formel erreichen, wie in der Schritt-für-Schritt-Anleitung beschrieben.

2. Brauche ich VBA, um Zellen zu sperren? Nein, du kannst Zellen auch ohne VBA sperren, indem du die Datenüberprüfung verwendest. VBA ist jedoch hilfreich für komplexere Anforderungen und Automatisierungen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige