Zelle sperren, wenn in Spalte D Wert 0
Betrifft: Zelle sperren, wenn in Spalte D Wert 0
von: Claudia
Geschrieben am: 03.10.2014 18:38:29
Hallo zusammen,
ich würde gerne die Zellen in Spalte K,M,O,Q der jweiligen Zeile sperren, wenn in Spalte D der Wert 0 vorkommt. Dies maximal bis Zeile 56.
Also Beispiel:
D3 = 1
Spalten K,M,O,Q der Zeile 3 nicht gesperrt
D3 = 0
Spalten K,M,O,Q der Zeile 3 gesperrt
Wer kann mir hier helfen?
LG
Claudia
Betrifft: mit benutzerdefinierte Datenüberprüfung ...
von: neopa C (paneo)
Geschrieben am: 03.10.2014 18:55:31
Hallo Claudia,
... markiere Deine Zellen in den Spalten K,M,O,Q beginnend mit der Zeile wo Du erstmals die _
Sperre in der Zeile haben willst. Beispielsweise sei das Zeile 2 im Menü Datenüberprüfung wähle benutzerdefiniert und schreibe dort folgende Formel:
=($D2<>0)*($D2<>"")
Gruß Werner
.. , - ...
Betrifft: VBA-Lösung gesucht
von: Claudia
Geschrieben am: 03.10.2014 19:18:30
Hallo Werner,
das ist nicht so einfach.
A) Kommen da noch weitere Spalten, die so gesperrt bzw. nicht gesperrt werden sollen. Also eine mühselige Arbeit, wo man sich nur verhauen kann.
B) Ändert sich der Eintrag in Spalte D häufiger.
Daher wäre mir eine VBA-Lösung wichtig.
Liebe Grüße
Claudia
Betrifft: AW: VBA-Lösung gesucht
von: Christian
Geschrieben am: 03.10.2014 19:22:36
Hallo Claudia,
schau mal in der Recherche oder per Google, da gibts schon hunderte Vorschläge mit VBA! ;-)
MfG Christian
Betrifft: AW: VBA-Lösung gesucht
von: Claudia
Geschrieben am: 03.10.2014 22:09:07
Hallo Christian,
das ist ja lieb gemeint. Mein VBA-Wissen ist aber nicht Profi, um vorhandene Codes zu modifizieren. Ich hatte auch bereits vorher gesucht. Aber die Codes die ich gefunden habe, beziehen sich immer auf eine zu prüfende Zelle. Ich muss aber direkt eine ganze Reihe von Zellen prüfen.
Ich hoffe daher, dass mir noch jemand helfen kann.
Liebe Grüße
Claudia
Betrifft: AW: Zelle sperren, wenn in Spalte D Wert 0
von: Daniel
Geschrieben am: 03.10.2014 22:19:00
Hi
probiere mal das im Modul des Tabellenblatts:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Zelle As Range
Dim Rückgängig As Boolean
If Intersect(Target, Range("K:K,M:M,O:O,Q:Q"), Range("1:56")) Is Nothing Then Exit Sub
For Each Zelle In Intersect(Range("D1:D56"), Target.EntireRow)
If Zelle.Value = 0 Then
Rückgängig = True
Exit For
End If
Next
If Rückgängig Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
MsgBox "Wenn in Spalte D 0 steht, darf nicht geändert werden."
End If
End Sub
gruß Daniel
Betrifft: AW: Leerzellen = 0
von: Gerd L
Geschrieben am: 03.10.2014 23:56:32
Hallo!
Entweder:
If Zelle.Value = 0 And Not IsEmpty(Zelle) Then ....
oder
If Zelle.Text = "0" Then ....
Gruß Gerd
Betrifft: Danke schön für Eure Hilfe!
von: Claudia
Geschrieben am: 04.10.2014 11:29:07
Beiträge aus den Excel-Beispielen zum Thema "Zelle sperren, wenn in Spalte D Wert 0"