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

Blattschutz per Makro

Blattschutz per Makro
26.11.2020 13:14:54
Vba
Hallo VBA-Gemeinde
Ich bin neu hier im Forum, habe aber schon unendlich viel von Eurem Wissen profitieren können.
Das Problem:
Ich habe ein Arbeitsblatt mit 10 Tabellen. Beim Tabellenblatt Nr. 5 setze ich manuell den Blattschutz ohne resp. mit einem "leeren" Passwort. Bei den anderen Tabellenblättern setze ich keinen Blattschutz.
Dann entferne ich bei allen Tabellenblättern den Blattschutz mit dem untenstehenden ersten Makro. Anschliessend setze ich bei allen Tabellenblättern den Blattschutz MIT Passwort mit dem zweiten Makro.
Fazit: Bei Excel 2007 sind alle Blätter geschützt. Beim manuellen Blattschutz aufheben wird bei jeden Tabellenblatt nach dem Passwort gefragt. Das ist in meinen Augen korrekt.
Bei Excel 2016 sind auch alle Blätter geschützt. Beim manuellen Blattschutz aufheben fragen mich alle Tabellenblätter "ausser dem Blatt Nr. 5" nach dem Passwort. Warum hat Blatt 5 den Blattschutz, aber ohne Passwort?
Es sieht so aus, wie wenn Excel 2016 sich "merkt", dass beim Blatt 5 erstmalig manuell ein "leeres" Passwort gesetzt worden ist.
Ist das gewollt oder ein Fehler im Excel 2016? Hat jemand die gleiche Erfahrung auch schon gemacht? Oder: was vielleicht eher zutrifft: was mache ich falsch?
Herzlichen Dank im voraus für Euren Support.
VbaFan
Sub AlleBlätterUnprotect()
Application.ScreenUpdating = False
For t = 1 To Sheets.Count
Sheets(t).Unprotect Password:="irgendeines"
Next t
Application.ScreenUpdating = True
End Sub

Sub AlleBlätterProtect()
Application.ScreenUpdating = False
For t = 1 To Sheets.Count
Sheets(t).Protect Password:="irgendeines", DrawingObjects:=True, Contents:=True, Scenarios:= _
True
Next t
Application.ScreenUpdating = True
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz per Makro
26.11.2020 13:49:50
Edmund
Hallo VbaFan
Das Makro funktioniert, zumindest bei mir und ich habe auch 2016.
Ich kann den Fehler nur dann nachvollziehen, wenn das Blatt bereits einen Blattschutz hat.
Der wird dann nicht überschrieben.
Geh doch mal hin und lösche den Blattschutz von Blatt 5 nochmal explizit manuell und führe das Makro dann nochmals aus.
Wenn es dann immer noch nicht geht, gehen mir die Ideen aus
Gruß
Edmund
AW: Blattschutz per Makro
26.11.2020 17:29:24
Vba
Hallo Edmund
Herzlichen Dank für Dein rasches Feedback.
Es ist witzig:
Wenn ich dem Blatt 5 manuell das korrekte PW gebe, funktionieren die Makros perfekt, d.h., Blatt 5 verlangt das PW beim manuellen Blattschutz entfernen.
Wenn ich dem Blatt 5 ein leeres PW gebe, ist es egal, in welcher Reihenfolge ich die beiden Makros laufen lasse. Blatt 5 verlangt dann einfach nie nach dem PW beim manuellen Blattschutz entfernen.
Eigentlich darf ich so nie z.B. dem 1. Blatt eines Workbooks zum Selbstschutz ein leeres PW geben, dann weitere Tabellenblätter erstellen und weil es dann viele Blätter sind, auf die Idee kommen, den PW-geschützten Blattschutz mit einem Makro zu bewerkstelligen. Zuerst müsste ich dem 1. Blatt das PW manuell geben. Ansonsten wird das Makro auf dem Blatt 1 seine Aufgabe nicht erfüllen.
Mir sind die Ideen auch ausgegangen. Immerhin weiss ich jetzt, dass ich da aufpassen und den Passwortschutz jedes einzelnen Blattes überprüfen muss.
Trotzdem herzlichen Dank!
Gruss VbaFan
Anzeige
AW: Blattschutz per Makro
26.11.2020 19:08:43
Firmus
Hi VBAfan,
als Idee, nicht nachvollzogen oder getestet.
Wenn ich XLS wäre, würde ich ein leeres passwort auch als passwort ansehen.
D.h. in deiner Schleife bei Blatt 5 das Passwort "" (leer) explizit mit angeben.
Gruß,
Firmus
AW: Blattschutz per Makro
26.11.2020 19:21:30
Edmund
Hallo VbaFan
Danke für deine Rückmeldung.
Also, ich habe auch so eine Datei mit ewig vielen Blättern, und da funktioniert es.
Zu dem, was du schreibst:
Wie gesagt, bei einem bereits geschützten Blatt wird der Blattschutz nicht mehr überschrieben.
Heißt, das Makro zum Schützen wird das Blatt 5 überspringen, wenn es dort bereits einen Schutz gibt.
Wenn du sicherstellst, dass alle Blattschtuz aufgehoben sind, sollte es funktionieren.
Ich weiß nicht, ob das damit zusammenhängt, aber ich nutze die verkürzte Befehlszeile.
Worksheets(t).protect "Passwort"
sollte eigentlich keine Rolle spielen, aber probier das vielleicht auch mal aus.
Gruß
Edmund
Anzeige
AW: Blattschutz per Makro
26.11.2020 23:13:14
Vba
Hallo Edmund und Firmus
Ich habe jetzt so lange getestet, dass ich vor lauter Bäumen den Wald nicht mehr sehe.
Ich bin zu folgendem Resultat gekommen:
Resultat falsch:
Alle Blätter sind ungeschützt – Blatt 5 manuell ohne PW schützen – alle Blätter ausser Nr. 5 sind ungeschützt; nur Blatt 5 ist geschützt (ohne PW).
Makro SCHUTZ AUS starten – alle Blätter haben jetzt KEINEN Blattschutz – Makro SCHUTZ EIN starten – Alle Blätter haben den Blattschutz – Aber beim Aufheben verlangt Blatt 5 NICHT nach dem PW.
Bei Blatt 5 wird das PW offensichtlich nicht gesetzt.
Resultat richtig:
Alle Blätter sind ungeschützt – Blatt 5 manuell ohne PW schützen – Blattschutz manuell wieder entfernen – alle Blätter sind ungeschützt.
Makro SCHUTZ AUFHEBEN starten – alle Blätter haben KEIN PW – Makro SCHUTZ EIN starten – alle Blätter haben ein PW und auch Nr. 5 verlangt beim Aufheben nach dem PW.
oder
Makro SCHUTZ EIN starten – alle Blätter haben ein PW und auch Nr. 5 verlangt beim Aufheben nach dem PW.
Bei Variante 1 setzt Excel 2007 beim Makro SCHUTZ EIN bei allen Blättern das Passwort.
Excel 2016 hingegen "vergisst" dieses bei Blatt 5.
Somit muss bei Excel 2016 ein manuell gesetzter Blattschutz mit PW zuerst wieder manuell aufgehoben werden, bevor er mittels eines Makros erneut mit PW gesetzt werden kann.
Für mich ist das unlogisch, sind doch alle Blätter zuerst ohne Blattschutz und das Makro bei Excel 2016 lässt den Passwortschutz beim Blatt 5 aus, nur weil das PW nicht zuerst manuell entfernt wurde.
Ich danke Euch allen für Eure Hilfe. Ich habe wieder etwas gelernt, nämlich dass Excel 2016 in manchen Belangen ziemlich anders reagiert als Excel 2007.
Mit dem Resultat kann (und muss) ich leben.
Gruss
VbaFan
Anzeige
AW: Blattschutz per Makro
27.11.2020 08:07:47
Edmund
Moin VbaFan
Danke für Deine ausführliche Recherche.
Jetzt mit deiner genauen Beschreibung kann ich den Fehler nachbilden.
Es ist genau so, wie du es sagst.
Und vermutlich hast Du recht, dass man damit wohl leben muss.
Also einmal alle Blattschutz manuell aufheben und dann nur noch per Makro.
Schon komisch.
Viele Grüße
Edmund

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige