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

Zellschutz in komplexer Liste setzen

Zellschutz in komplexer Liste setzen
13.04.2023 13:01:34
Heli

Hi zusammen,

bräuchte bitte mal Denkhilfe bei folgender Situation:
Ich habe ein recht komplexe Tabelle in der verschiedene Eingaben in den Zeilen gemacht werden - um hier Fehler zu vermeiden sind die meisten Spalten gesperrt.
Bei der Bearbeitung wird eine Zeile komplett gesperrt sobald ein Anwender den Status für eine Zeile auf "fertig!" setzt - das klappt wunderbar.
Jetzt meine Herausforderung: die Anwender wollen "fertige" Zeilen wieder bearbeiten können > ich muss nun für die gewählten Zeilen den Zellschutz wieder aus einer Master-Zeile übernehmen und das bekomme ich aktuell nicht richtig hin.

Szenario:
Anwender filtert die Liste und markiert die relevanten Zeilen die er "aufsperren" will
Per VBA durchlaufe ich aktuell jede Zeile & Spalte der Selektion und prüfe ob ich den Zellschutz aufheben muss oder nicht - das dauert leider recht lange.
Gibt es dazu eine einfache Möglichkeit?
Dachte an sowas wie Selection.EntireRow.Locked = Range("Vorlage").EntireRow.Locked aber das klappt leider nicht

Danke für jeglichen Denkanstoß dazu.

VG, Heli

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellschutz in komplexer Liste setzen
13.04.2023 14:11:53
GerdL
Hi Heli,

das Zusammenspiel mit dem Blattschutz u. gesperrten Spalten fehlt hier noch.

Cells.Locked = True
Cells(1, 1).Name = "Vorlage"
Range("Vorlage").Locked = False

For Each C In Selection.Areas
    C.EntireRow.Locked = Range("Vorlage").Locked
Next
Gruß Gerd


AW: Zellschutz in komplexer Liste setzen
13.04.2023 14:52:37
Heli
Danke Gerd,
so ähnlich habe ich das schon gelöst nur will ich eben mehrere Spalten gleichzeitig entsperren > Spalten 1, 7, 14, 33, 34, 38, usw. sollen entsperrt werden. Dachte ich kann aus einer Basis-Zeile die Eigenschaft auf einmal kopieren / übertragen aber das scheint nicht zu funktionieren :-(

VG, Heli


Anzeige
AW: Zellschutz in komplexer Liste setzen
13.04.2023 15:38:04
GerdL
Soweit ich es interpretieren kann, teste bitte mal.

Set X = Selection
Intersect(X.EntireRow, Range("A1,A3,A7,A14,A33,A34,A38").EntireColumn).Locked = Cells(1, 1).Locked
Gruß Gerd


AW: Zellschutz in komplexer Liste setzen
13.04.2023 16:05:23
Heli
Hallo Gerd,

danke, habe ich wohl nicht gut genug erklärt, ich versuchs nochmal:

Zeile 3 ist meine Vorlage > da sind verschiedene Spalten gesperrt (welche das sind weiß ich nicht, hängt von der Datei ab)
Diese Sperrungen will ich auf die Selektion übertragen > mir fehlt jetzt nur noch der Code wie ich an die zu sperrenden Spalten komme. Vermutlich gibt es da aber keinen einfacheren Weg als die Spalten per Schleife zu durchlaufen und einzeln zu prüfen, oder?

Merci & VG, Heli


Anzeige
AW: Zellschutz in komplexer Liste setzen
13.04.2023 17:56:07
Herbert_Grom
Hallo Heli,

ich denke, dass das mit eine Beispielarbeitsmappe sicher leichter zu erklären und lösen wäre.

Servus


AW: Zellschutz in komplexer Liste setzen
13.04.2023 18:25:45
Yal
Hallo Heli,

"Zeile 3 ist meine Vorlage [..] Diese Sperrungen will ich auf die Selektion übertragen"
Da es keine "PasteSpecial" für die Zellesperre gibt, um das gesamte vom Vorlage aufs Ziel zu übertrgen, wirst Du wohl jede Zelle einzel setzen müssen.

Sub Sperre_übernehmen()
Dim Z As Range

    For Each Z In Intersect(ActiveCell.EntireRow, UsedRange)
        Z.Locked = Cells(3, Z.Column).Locked
    Next
End Sub
VG
Yal


Anzeige
AW: Zellschutz in komplexer Liste setzen
13.04.2023 18:41:06
Heli
Hi zusammen,

danke für eure Rückmeldungen und danke Yal, das hatte ich befürchtet - dann mache ich das jetzt Spaltenweise...

VG, Heli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige