Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sperren von Zellen bei Bedingung

Sperren von Zellen bei Bedingung
16.11.2022 10:41:43
Zellen
Hallo zusammen,
Unten stehend mein Code(vermultich nicht optimal gelöst)

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = "Freies Teil" And IsEmpty(Range("D5")) = False And IsEmpty(Range("D6:G6")) = False And IsEmpty(Range("D7")) = False And IsEmpty(Range("D8:G8")) = False And IsEmpty(Range("D9")) = False And IsEmpty(Range("D10")) = False Then
ActiveSheet.Unprotect "Passwort"
Range("D6:G6").Locked = True
Range("D8:G8").Locked = True
Cells(5, 4).Locked = True
Cells(7, 4).Locked = True
Cells(9, 4).Locked = True
Cells(10, 4).Locked = True
ActiveSheet.Protect "Passwort"
ElseIf Range("D6") "Freies Teil" And IsEmpty(Range("D5")) = False And IsEmpty(Range("D6:G6")) = False And IsEmpty(Range("D7")) = False And IsEmpty(Range("D8:G8")) = False Then
ActiveSheet.Unprotect "Passwort"
Range("D6:G6").Locked = True
Cells(5, 4).Locked = True
Cells(7, 4).Locked = True
Range("D8:G8").Locked = True
Cells(9, 4).Locked = True
Cells(10, 4).Locked = True
ActiveSheet.Protect "Passwort"
End If
End Sub

Habe folgendes Problem:
Bei der ertsen If Bedingung funktioniert alles und die Zellen sperren, sobald ich den letzen wert in D10 eingetragen habe.
Beim ElseIf allerdings, werden schon alle Zellen gesperrt, sobald ich in D7 etwas eingebe, obwohl D8 noch leer ist. Hingegen wenn ich zuerst in D8 etwas eingebe, funktioniert die Bedingung des Elseif.
Wäre für etwas Hilfe sehr dankbar!
Mfg
Nikl

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

Betreff
Datum
Anwender
Anzeige
AW: Sperren von Zellen bei Bedingung
16.11.2022 10:51:33
Zellen
Hi,
und wo is ne Bsp-Datei per Upload, mit der wir deinen Code testen könnten?
Ciao
Thorsten
AW: Sperren von Zellen bei Bedingung
16.11.2022 11:42:19
Zellen
Hallo,
IsEmpty auf Bereiche mit mehreren Zellen ergibt immer Falsch.
Außerdem sind die ersten 4 Bedingungen identisch und deine Aktionen in beiden Fällen die gleichen.
Man könnte also erst die ersten 4 Bedingungen prüfen und dann verzweigen.
Schema:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D6") = "Freies Teil" And _
IsEmpty(Range("D5")) = False And _
Application.CountA(Range("D6:G6")) > 0 And _
IsEmpty(Range("D7")) = False And _
Application.CountA(Range("D8:G8")) > 0 Then
If IsEmpty(Range("D9")) = False And _
IsEmpty(Range("D10")) = False Then
ActiveSheet.Unprotect "Passwort"
Range("D6:G6").Locked = True
Range("D8:G8").Locked = True
Cells(5, 4).Locked = True
Cells(7, 4).Locked = True
Cells(9, 4).Locked = True
Cells(10, 4).Locked = True
ActiveSheet.Protect "Passwort"
Else
ActiveSheet.Unprotect "Passwort"
Range("D6:G6").Locked = True
Range("D8:G8").Locked = True
Cells(5, 4).Locked = True
Cells(7, 4).Locked = True
Cells(9, 4).Locked = True
Cells(10, 4).Locked = True
ActiveSheet.Protect "Passwort"
End If
End If
End Sub
Gruß
Rudi
Anzeige
sollte zum TE. owT
16.11.2022 11:45:11
Rudi
AW: sollte zum TE. owT
16.11.2022 12:11:08
Nikl
Hallo Rudi,
danke für den Code. :)
Mit zwei kleinen Änderungen konnte ich es zum funktionieren bringen.
Vielen Dank!
was soll man mit dem Schrott? owT
16.11.2022 11:45:52
Rudi

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige