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

Wie Zellen bedingt sperren?

Wie Zellen bedingt sperren?
05.07.2021 16:11:28
AleXSR700
Hallo zusammen,
ich habe in einem Excelsheet recht viele bedingte Formatierungen und ich würde gerne dafür sorgen, dass bestimmte Zellen gesperrt/entsperrt werden, wenn eine bestimmte Bedingung erfüllt ist.
In der angehängten Datei bspw. würde ich gerne dafür sorgen, dass alle Zellen, die farbig gefüllt sind, entsperrt werden und alle farblosen gesperrt werden.
Ändert man dann den Trigger auf "B", so werden die "geraden Zellen" farbig und entsprechend entsperrt während die ungeraden farblos werden und gesperrt werden sollen.
Ist dies irgendwie möglich? Ich würde es am liebsten direkt bei der bedingten Formatierung einstellen, aber dort scheint es nicht machbar zu sein.
Vielen Dank für eure Hilfe!
Viele Grüße
Alex
Datei: https://www.herber.de/bbs/user/146958.xlsx

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie Zellen bedingt sperren?
05.07.2021 17:41:23
Herbert_Grom
Hallo Alex,
ist das hellgrün die Farbe, die du dann auch in deiner Originaldatei verwendest? Wenn nein, dann gib mir die richtige Farbe.
Servus
AW: Wie Zellen bedingt sperren?
05.07.2021 17:45:14
AleXSR700
Hallo Herbert,
die Farbe wird "weiß" sein. Alle weißen Felder sollen in Echtzeit formatierungsbedingt gesperrt werden. Alle Felder, die hiervon ausgenommen sein sollen, werden entweder farbig ( weiß) sein oder ungefüllt.
Viele Grüße
Alex
AW: Wie Zellen bedingt sperren?
05.07.2021 17:48:44
Herbert_Grom
Damit ich das auch wirklich richtig verstehe: Alle "offenen" Zellen sind weiß und nicht "Keine Füllung"?
AW: Wie Zellen bedingt sperren?
05.07.2021 17:58:30
AleXSR700
Alle offenen Zellen sind nicht weiß. Alle gesperrten Zellen sind weiß.
AW: Wie Zellen bedingt sperren?
05.07.2021 18:16:14
AleXSR700
Hallo Herbert,
danke dir, aber ich mache entweder etwas falsch oder der Code tut noch nicht, was er müsste.
Die Zellen F4,F6,F8,F10,F12 werden gesperrt. Okay. Aber wenn ich dann als Trigger ein B eingebe, dann ändert sich die Farbigkeit der Zellen und entsprechend müsste sich auch die Sperrung der Zellen ändern..
In der Beispieldatei müsste also gelten
If B3="A" Then
Range("F3,F5,F7,F9,F11").Locked = False
Range("F4,F6,F8,F10,F12").Locked = True
ElseIF B3="B" Then
Range("F3,F5,F7,F9,F11").Locked = True
Range("F4,F6,F8,F10,F12").Locked = False
End If
Nur eben nicht basierend auf dem Wert der Zelle B3, sondern basierend auf der Formatierung der Zellen F3:F12.
Beste Grüße
Alex
Anzeige
AW: Wie Zellen bedingt sperren?
05.07.2021 18:26:57
Herbert_Grom
Die Farbänderung ist doch an die Änderung des "Triggers" gekoppelt, oder? Dann kannst du sie ja auch von dort steuern.
Servus
AW: Wie Zellen bedingt sperren?
05.07.2021 19:21:55
AleXSR700
Das gilt leider nur für dieses sehr einfache Beispiel.
In den eigentlichen Versionen gibt es sehr viele bedingte Formatierungen, die von Kombinationen sehr vieler Zellen abhängen.
Ihnen gemein ist aber, dass alle Zellen, die der User nicht bearbeiten können soll, weiß gefärbt werden.
Deshalb benötige ich eigentlich einen Code, der alle Zellen eines Sheets, die weiß sind, sperrt. Und alle Zellen, die nicht weiß sind, entsperrt.
AW: Wie Zellen bedingt sperren?
06.07.2021 09:18:37
Herbert_Grom
Dann lade doch mal die Originaldatei hoch, sensible Daten musst du halt durch falsche ersetzen.
Anzeige
AW: Wie Zellen bedingt sperren?
06.07.2021 09:36:48
AleXSR700
Hallo Herbert,
anbei ein Beispiel, in dem das Prinzip vereinfacht dargestellt ist.
https://www.herber.de/bbs/user/146971.xlsx
Aktuell sind alle Felder offen/ungesperrt.
Nun sollen alle weißen Felder gesperrt werden.
Alle nicht-weißen Felder sollen entsperrt werden/ungesperrt sein.
Je nachdem, wo man in B2:B4 eine "1" einträgt, werden andere Felder weiß. Bei dieser Änderung muss entsprechend auch der Schutz einer Zelle aufgehoben oder gesetzt werden, sodass weiterhin weiße Felder gesperrt und farbige Felder entsperrt sind.
Viele Grüße
Alex
Anzeige
AW: Wie Zellen bedingt sperren?
06.07.2021 12:58:36
AleXSR700
Leider kommt der Fehler

Run-time error '1004':
Unable to set the Locked property of the Range class
Ich habe beim googlen gefunden, dass der Fehler wohl auftritt, wenn man in einem geschützten Sheet die Eigenschaft ändern will.
Hattest du den Code probiert, nachdem du das Arbeitsblatt geschützt hattest? Der Code muss ja letztlich im geschützten Sheet laufen, da sonst das Sperren wirkungslos wäre.
Anzeige
AW: Wie Zellen bedingt sperren?
06.07.2021 15:40:47
Herbert_Grom
Ich habe nix geschützt! Schau mal ob du in den AddIns die Analyse-Funktionen und im Trust-Center die Makros aktiviert hast!
AW: Wie Zellen bedingt sperren?
06.07.2021 16:17:26
AleXSR700
Nein, ich meinte, dass du ja das Arbeitsblatt nicht geschützt hast. Ich musste natürlich den Arbeitsblattschutz einschalten, sonst bringt das Ganze ja nichts.
Und sobald ich diesen einschalte, kommt die Fehlermeldung.
(Ohne Arbeitsblattschutz wäre das Sperren einer Zelle ja wirkungslos, denn es geht ja darum, dass in Echtzeit die Zellen schreibgeschützt werden)
AW: Wie Zellen bedingt sperren?
06.07.2021 16:46:21
Herbert_Grom
Activesheet.Unprotect "PW", am Anfang des Codes
....
Activesheet.Protect "PW" am Ende des Codes
Servus
Anzeige
AW: Wie Zellen bedingt sperren?
07.07.2021 13:01:10
AleXSR700
Perfekt, so funktioniert es, vielen lieben Dank!!!!
Dann werde ich mal kurz testen, ob ich es auf ein paar andere Dateien übertragen/reporduzieren kann :)
Viele Grüße
Alex
AW: Wie Zellen bedingt sperren?
07.07.2021 13:05:30
AleXSR700
Hallo Herbert,
perfekt, danke dir, so funktioniert es!
Aber es definiert ja trotzdem nicht, dass einfach alle weißen Zellen gesperrt sein sollen. Ich möchte ja eigentlich nicht an den Inhalt einer Zelle knüpfen, sondern an die Formatierung.
Sprich, nicht
If A1=1 Then
sondern
If IrgendeineZelle weiß gefüllt Then
Weil die bedingte Formatierung übernimmt das färben der Zellen. Mit diesem Code hätte ich die doppelte Arbeit und müsste jede bedingte Formatierung noch einmal im Code hinterlegen.
Würde der Code einfach immer die Farben aller Zellen überwachen, dann könnte man sich sehr viel Wartungsarbeit sparen.
Anzeige
AW: Wie Zellen bedingt sperren?
07.07.2021 16:01:13
Herbert_Grom
Das geht nicht bei bed. Formatierung, denn das ist nicht wirklich eingefärbt, sondern nur virtuell gefärbt und somit kein ein Makro, etc. auslösendes Event, da in der Zelle nicht wirklich etwas geändert wird!
Servus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige