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

VBA - mehrere Blätter + Zellen schützen

VBA - mehrere Blätter + Zellen schützen
11.10.2022 18:23:33
FrankS
Hallo zusammen,
ich möchte gerne in mehreren Tabellenblättern jeweils mehrere Datenbereiche ansprechen um dort den Zellschutz zu aktivieren/ deaktivieren.
Kann ich den VBA Code verkürzen sodass ich nicht jeden Bereich in jedem Tabellenblatt einzeln ansprechen muss?
Mein Vorgehen wäre:
- Blattschutz deaktivieren für Tabelle4 bis Tabelle15
- Zellschutz aktivieren für den kompletten Bereich
- Zellschutz deaktivieren für jeweils Zellebereiche E14 bis H44, J14 bis J44, L14 bis N44, Q14 bis Q44 und Q49
- Blattschutz aktivieren für Tabelle4 bis Tabelle 15
Hat jemand eine Idee wie ich das über VBA lösen kann? Vielen Dank im Voraus.
VG
FrankS

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - mehrere Blätter + Zellen schützen
11.10.2022 22:09:38
Oberschlumpf
Hi,
ja, ich weiß, wie es geht.
Aber ich hab keine Lust, deine Datei nachzubauen.
Zeig also bitte ne Bsp-Datei mit Bsp-Daten + Beschreibung, in welchen Blättern welche Zellbereiche geschützt werden sollen.
Ciao
Thorsten
AW: VBA - mehrere Blätter + Zellen schützen
12.10.2022 22:38:39
FrankS
Hallo Oberschlumpf,
ich habe das jetzt mit einem Code lösen können:

Sub MonateTeilbfrei()
If Range("I5").Value = 17072007 Then
Range("Q18").Value = "Teilbereich frei"
'Blattschutz ausschalten
Tabelle4.Unprotect
'Schritt - Zellen formatieren - Schutz - gesperrt setzen
Tabelle4.Range("A1:CA200").Locked = True
Tabelle5.Range("A1:CA200").Locked = True
Tabelle6.Range("A1:CA200").Locked = True
Tabelle7.Range("A1:CA200").Locked = True
Tabelle8.Range("A1:CA200").Locked = True
Tabelle9.Range("A1:CA200").Locked = True
Tabelle10.Range("A1:CA200").Locked = True
Tabelle11.Range("A1:CA200").Locked = True
Tabelle12.Range("A1:CA200").Locked = True
Tabelle13.Range("A1:CA200").Locked = True
Tabelle14.Range("A1:CA200").Locked = True
Tabelle15.Range("A1:CA200").Locked = True
'Schritt - Zellen formatieren - Schutz - nicht gesperrt setzen
Tabelle4.Range("E14:H44").Locked = False
Tabelle4.Range("J14:J44").Locked = False
Tabelle4.Range("L14:N44").Locked = False
Tabelle4.Range("Q14:Q44").Locked = False
Tabelle4.Range("Q49:Q51").Locked = False
Tabelle5.Range("E14:H44").Locked = False
Tabelle5.Range("J14:J44").Locked = False
Tabelle5.Range("L14:N44").Locked = False
Tabelle5.Range("Q14:Q44").Locked = False
Tabelle5.Range("Q49:Q51").Locked = False
Tabelle6.Range("E14:H44").Locked = False
Tabelle6.Range("J14:J44").Locked = False
Tabelle6.Range("L14:N44").Locked = False
Tabelle6.Range("Q14:Q44").Locked = False
Tabelle6.Range("Q49:Q51").Locked = False
Tabelle7.Range("E14:H44").Locked = False
Tabelle7.Range("J14:J44").Locked = False
Tabelle7.Range("L14:N44").Locked = False
Tabelle7.Range("Q14:Q44").Locked = False
Tabelle7.Range("Q49:Q51").Locked = False
Tabelle8.Range("E14:H44").Locked = False
Tabelle8.Range("J14:J44").Locked = False
Tabelle8.Range("L14:N44").Locked = False
Tabelle8.Range("Q14:Q44").Locked = False
Tabelle8.Range("Q49:Q51").Locked = False
Tabelle9.Range("E14:H44").Locked = False
Tabelle9.Range("J14:J44").Locked = False
Tabelle9.Range("L14:N44").Locked = False
Tabelle9.Range("Q14:Q44").Locked = False
Tabelle9.Range("Q49:Q51").Locked = False
Tabelle10.Range("E14:H44").Locked = False
Tabelle10.Range("J14:J44").Locked = False
Tabelle10.Range("L14:N44").Locked = False
Tabelle10.Range("Q14:Q44").Locked = False
Tabelle10.Range("Q49:Q51").Locked = False
Tabelle11.Range("E14:H44").Locked = False
Tabelle11.Range("J14:J44").Locked = False
Tabelle11.Range("L14:N44").Locked = False
Tabelle11.Range("Q14:Q44").Locked = False
Tabelle11.Range("Q49:Q51").Locked = False
Tabelle12.Range("E14:H44").Locked = False
Tabelle12.Range("J14:J44").Locked = False
Tabelle12.Range("L14:N44").Locked = False
Tabelle12.Range("Q14:Q44").Locked = False
Tabelle12.Range("Q49:Q51").Locked = False
Tabelle13.Range("E14:H44").Locked = False
Tabelle13.Range("J14:J44").Locked = False
Tabelle13.Range("L14:N44").Locked = False
Tabelle13.Range("Q14:Q44").Locked = False
Tabelle13.Range("Q49:Q51").Locked = False
Tabelle14.Range("E14:H44").Locked = False
Tabelle14.Range("J14:J44").Locked = False
Tabelle14.Range("L14:N44").Locked = False
Tabelle14.Range("Q14:Q44").Locked = False
Tabelle14.Range("Q49:Q51").Locked = False
Tabelle15.Range("E14:H44").Locked = False
Tabelle15.Range("J14:J44").Locked = False
Tabelle15.Range("L14:N44").Locked = False
Tabelle15.Range("Q14:Q44").Locked = False
Tabelle15.Range("Q49:Q51").Locked = False
'Blattschutz aktivieren
Tabelle4.Protect
Tabelle5.Protect
Tabelle6.Protect
Tabelle7.Protect
Tabelle8.Protect
Tabelle9.Protect
Tabelle10.Protect
Tabelle11.Protect
Tabelle12.Protect
Tabelle13.Protect
Tabelle14.Protect
Tabelle15.Protect
End If
End Sub
Danke dir Trotzdem!
VG Frank
Anzeige
AW: VBA - mehrere Blätter + Zellen schützen
13.10.2022 00:05:00
Oberschlumpf
na, danke für Antwort, wenigstens nach Aufforderung
AW: VBA - mehrere Blätter + Zellen schützen
12.10.2022 15:20:54
Peter
Hallo Frank,
ich habe mal eine Lösung erarbeitet, hier meine Dateien
https://www.herber.de/bbs/user/155630.zip
Die entpackten Dateien solltest Du zunächst auf Deinen Computer übertragen.
Die Lösung stellt bereits das Endresultat dar. In der beiliegenden Word-Datei habe ich insgesamt 9 Schritte aufgeführt, wie Du das Ganze selbst entwickeln kannst.
In eine leere Datei kannst Du zuerst meine Makros übernehmen. Im ersten Schritt richtest Du die Dateien „Tabelle4“ und „End“ ein. Im zweiten Schritt muss unter A1 die Formel „=“Tabelle“&B1“ und unter B1 eine 5 eingefügt werden. Im 3. Schritt betätigst Du Makro1 und dann Makro2. Im nächsten Schritt bitte unter Tabelle4 in B1 eine „4“ eintragen. Nun kannst Du mit dem Makro3 die definierten Bereiche (Änderungen ganz einfach in Makro1) schützen, so dass dort keine Eintragungen erfolgen können. Mit Makro4 wird der Schutz in den definierten Bereichen aufgehoben, Eintragungen sind jetzt möglich. Das Ganze funktioniert bis hierhin nur, solange die Tabellennamen „Tabelle…“ heißen.
Sollen in derselben Datei weitere Tabellen – ohne definierte Bereiche – geführt werden, dann bitte diese an den Anfang zu stellen. Vergleiche Schritt 6. Darüber hinaus können die bisherigen Namen („Tabelle…“) geändert werden in beliebige andere Bezeichnungen. Vergleiche Schritt 7. Es ist sodann eine Liste in der Tabelle4 in Spalte K aufzuführen, in welcher sämtliche Tabellen, die bearbeitet werden sollen, aufgeführt sind. Die Spalte „L“ wird für die Ausführung des Makros gebraucht und muss leer bleiben. Natürlich kann man auch ein anderes Blatt oder eine andere Spalte wählen; dann müssen jedoch die Makros 5 und 6 entsprechend geändert werden. Mit Makro 5 werden die Schutzbereiche geschützt, so dass dort keine Eingaben stattfinden können, und mit Makro6 werden die Schutzbereiche freigegeben, so dass dann Eintragungen möglich sind. Die Makros 3 und 4 funktionieren dann nicht mehr.
Bitte mal ausprobieren, Rückmeldung wäre schön.
Mit freundlichem Gruß
Peter Kloßek
Anzeige

328 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige