30.11.2018, 14:19 (Dieser Beitrag wurde zuletzt bearbeitet: 30.11.2018, 15:14 von sveninho11.)
Hallo zusammen,
ich habe eine Frage bzgl. einer Möglichkeit wie ich bestimmte Zellen sperren kann.
Es liegt folgender Fall vor: (Datei befindet sich im Anhang.)
Ich habe ein Formular, in der bestimmte Zellen nach Auswahl einer Formatvorlage gesperrt bzw. auch die Farbe geändert werden soll. Das mit der Farbe habe ich soweit auch über die bedingte Formatierung hinbekommen.
Wenn anhand des Beispiels (Anhang) das Formular Word ausgewählt ist, soll der Bereich C7:G8 weiterhin beschreibbar bleiben und der andere Bereich gesperrt werden. Wenn jetzt als Formular "Excel" ausgewählt wurde, soll der Bereich C7:E8 und C11:G12 gesperrt werden und G7:G8 weiterhin beschreibbar bleiben.
Habe es mit einer Gültigkeitsprüfung versucht, das funktioniert aber leider nicht....
Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("D5")) Is Nothing Then With ActiveSheet .Unprotect If .Range("D5") = "Word" Then .Range("C7:G8").Locked = False ElseIf .Range("D5") = "Excel" Then .Range("C7:G8").Locked = True .Range("C11:G12").Locked = True End If .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End With End If
für "Word" sind die Bereiche wie gewünscht gesperrt... wenn ich jedoch auf Excel umschalte sind alle Zellen gesperrt. Es soll jedoch der Bereich G7:G12, wenn Excel ausgewählt ist, weiterhin beschreibbar bleiben.
02.12.2018, 19:09 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2018, 19:09 von Rabe.)
Hi,
im Code wird explicit der Bereich C7:G8 gesperrt, also können G7 und G8 nicht beschreibbar sein. Am Bereich C9:G10 wird gar nichts verändert, bei beiden Begriffen. Und G11:G12 wird wieder gesperrt. Du mußt jeden Bereich einzeln entsprechend programmieren!
Daher
Code:
If .Range("D5") = "Word" Then .Range("C7:G8").Locked = False ElseIf .Range("D5") = "Excel" Then .Range("C7:F8").Locked = True .Range("G7:G12").Locked = False .Range("C11:F12").Locked = True End If
Dies muß für den Bereich Word auch nochmal angepasst werden.