Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
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

Bedingter Schreibschutz in Zellen

Bedingter Schreibschutz in Zellen
14.09.2022 15:40:05
Daniel
Hallo,
ich habe eine Datei zu meinem Anliegen hochgeladen: https://www.herber.de/bbs/user/155174.xlsb
In den Zellen A1 und C1:D4 gibt es unterschiedliche Dropdown-Listen.
Wenn in Zelle A1 "Der Sperrtext" ausgewählt wird, sollen die Zellen C1:D4 schreibgeschützt werden.
Wenn in Zelle A1 "Anderer Text" steht, sollen die Dropdown-Listen in C1:D4 entsperrt werden.
Hat jemand eine VBA-Lösung dafür?
Ich habe es bis jetzt nur mit dem Gütigkeitskriterium "Benutzerdefiniert" geschafft, allerdings habe ich dann keine Dropdown-Listen mehr in C1:D4.
Viele Grüße
Daniel

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingter Schreibschutz in Zellen
14.09.2022 15:57:22
{Boris}
Hi,
wenn es Dir nur um Vermeidung versehentlicher Fehler geht, dann reicht auch die Datenüberprüfung.
Die Liste der auswählbaren Einträge steht in meinem Beispiel in H1:H3.
Für die Datenüberprüfung in C1:D4 dann unter Liste:
=WENN($A$1"Der Sperrtext";$H$1:$H$3;$IV$1)
VG, Boris
AW: Bedingter Schreibschutz in Zellen
14.09.2022 17:41:04
Daniel
Hallo Boris,
danke für deine Nachricht, aber darum geht es mir nicht.
Wenn in A1 „Der Sperrtext“ steht, soll C1:D4 nicht änderbar sein und es soll dann auch keine Auswahl möglich sein. C1:D4 soll komplett schreibgeschützt sein.
Viele Grüße
Daniel
AW: Bedingter Schreibschutz in Zellen
14.09.2022 18:12:07
{Boris}
Hi,
das geht dann nur über Blattschutz. Die Auswahlzelle A1 muss in den Zellschutzoptionen NICHT gesperrt sein, die anderen hingegen gesperrt.
Code in das Codemodul der Tabelle:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A1" Then
If Target.Value = "Der Sperrtext" Then
Me.Protect Password:="Top Secret"
Else
Me.Unprotect Password:="Top Secret"
End If
End If
End Sub
VG, Boris
Anzeige
AW: Bedingter Schreibschutz in Zellen
15.09.2022 10:50:31
Daniel
Guten Morgen Boris,
danke für deinen Code. Ich habe ihn ausprobiert, aber er sperrt alle Zellen außer die Zelle A1. Mein Ziel ist es, dass nur C1:D4 gesperrt werden, wenn in der Zelle A1 "Der Sperrtext" steht.
In deinem Code steht Target.Address(0, 0). Was bedeutet das genau? Insbesondere die 0, 0.
Viele Grüße
Daniel
AW: Bedingter Schreibschutz in Zellen
19.09.2022 18:29:43
{Boris}
Hi Daniel,
aber er sperrt alle Zellen außer die Zelle A1. Mein Ziel ist es, dass nur C1:D4 gesperrt werden, wenn in der Zelle A1 "Der Sperrtext" steht.
Ich schrieb:
Die Auswahlzelle A1 muss in den Zellschutzoptionen NICHT gesperrt sein, die anderen hingegen gesperrt.
Mein Ansatz war, VORHER alle Zellen mit Sperre in den Zelloptionen zu versehen, die gesperrt sein sollen - dann eben alle anderen NICHT.
In deinem Code steht Target.Address(0, 0). Was bedeutet das genau? Insbesondere die 0, 0.
Setz den Cursor mal innerhalb des VBA-Code auf Address und drück die F1-Taste.
VG, Boris
Anzeige
AW: Bedingter Schreibschutz in Zellen
14.09.2022 18:21:08
Nepumuk
Hallo Daniel,
ich habe das mal in deine Mappe eingebaut. Du musst alle Zellen, die bearbeitet werden dürfen, Formatieren - Schutz - Häkchen bei Gesperrt raus.
https://www.herber.de/bbs/user/155176.xlsb
Gruß
Nepumuk
AW: Bedingter Schreibschutz in Zellen
15.09.2022 08:46:43
Daniel
Guten Morgen Nepomuk,
vielen Dank, genau so wollte ich es haben.
Ich habe nun den Code aus deiner Beispieldatei in meine Ursprungsdatei (dort wo ich den Code eigentlich brauche) kopiert und folgende Änderungen vorgenommen, damit er so funktioniert wie er soll:

Private Sub Workbook_Open()
Call Tabelle1.Protect(Password:=WORKSHEET_PASSWORD, UserInterfaceOnly:=True)
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$Q$13" Then Range("Y63:Z362").Locked = Target.Text = "Ohne PLZ"
End Sub
Dort funktioniert der Code leider nicht und nachdem ich ihn komplett gelöscht habe, ist nun das Blatt schreibgeschützt und ich bekomme den Schutz nicht mehr raus. Was hab ich denn da nun fabriziert? Wie kriege ich den Blattschutz raus? Mit deinem Passwort funktioniert's nicht.
Viele Grüße
Daniel
Anzeige
Passwort
15.09.2022 09:21:49
{Boris}
Hi,
Nepumuk hat GEHEIM als Passwort vergeben - deklariert als öffentliche Variable in Modul1.
Wenn Du das in Deiner Datei nicht gemacht bzw. vergessen hast, dann ist der Blattschutz ohne Passwort erfolgt (vorausgesetzt, Du verwendest nicht Option Explicit, denn sonst würde es Mecker wegen einer nicht deklarierten Variable geben).
VG, Boris
AW: Passwort
15.09.2022 10:43:45
Daniel
Guten Morgen Boris,
danke für die Ausklärung. In meiner Datei stehen nun folgende VBA Codes:
Modul1:

Option Explicit
Public Const WORKSHEET_PASSWORD As String = "GEHEIM"
Arbeitsmappe:

Option Explicit
Private Sub Workbook_Open()
Call Tabelle1.Protect(Password:=WORKSHEET_PASSWORD, UserInterfaceOnly:=True)
End Sub
Tabelle1: (abgeändert auf meine Datei)

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$13" Then Range("Y63:Z362").Locked = Target.Text = "Ohne PLZ"
End Sub
Ich kriege den Blattschutz nun gar nicht mehr raus. Weder mit dem Passwort GEHEIM, noch ohne und auch nicht wenn ich den Code komplett lösche. Weiß jemand weiter oder muss ich meine Tabelle neu bauen?
Viele Grüße
Daniel
Anzeige
AW: Passwort
15.09.2022 13:51:17
{Boris}
Hi,
wenn Du magst, schick mir die Datei eben an borisbeaker AT gmx Punkt de
Dann entferne ich Dir den Blattschutz und schick Dir die Datei zurück.
VG, Boris
Blattschutz ist raus
15.09.2022 14:34:05
Daniel
Hallo Boris,
ich habe es gerade geschafft den Blattschutz rauszunehmen.
Die Datei hätte ich dir nicht schicken dürfen. Deshalb hatte ich ein vereinfachtes Beispiel zu Beginn des Threads erstellt.
Ich probiere es nun noch mal mit euren Codes.
Viele Grüße
Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige