Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

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"