in einer Exceldatei soll die ganze Arbeitsmappenstruktur geschützt werden (mit Passwort). Das krieg ich auch problemlos hin. Nur kann dann immer noch bei jedem einzelnen Tabellenblatt über „Format“ der Blattschutz aufgehoben werden. Dies sollen die Nutzer aber keineswegs dürfen. Wie bitte kann ich als Ehrenamts-Programmierer dies verhindern?
Kurz: Wenn ich die gesamte Mappe mit Passwort schütze, soll auch keineswegs das einzelne Tabellenblatt „entschützt“ werden können.
Kurz: Wenn ich die gesamte Mappe mit Passwort schütze, soll
auch keineswegs das einzelne Tabellenblatt „entschützt“ werden
können.
Hallo Ludwig,
sorry, ich denk nochmal darüber nach aber auf den ersten Blick
sehe ich da keine Chancen für dich.
Du hast XL2010. In älteren Versionen hätte ich versucht dir Vba-
Code zu basteln der a) die User zwingt beim Start der mappe
Makros zu aktivieren und b) dann da ein Makro die Anklickmöglichkeit
„oben“ bei der menuzeile ein Blatt zu entsperren deaktiviert
oder entfernt.
Bei dem Ribbon-Kram in XL2010 habe ich keine Ahnung.
ohne jetzt genauer gelesen zu haben: Dein Problem scheint zu sein, daß Du eine Arbeitsmappe schützst und dabei gleichzeitig den Blattschutz anschalten möchtest, Ohne daß ich jetzt (zu später Stunde) genaueres dazu sagen kann: Mappen- und Blattschutz sind zwei unterschiedliche Dinge. Und deshalb auch zwei unterschiedliche Excel-Befehle.
Wenn Du beide Schutzarten mit einem Klick anschalten willst, zeichne ein Makro auf:
erst die Mappe schützen
dann ein, zwei Blätter schützen
Poste das hier. Dann können wir Dir relativ flott eine Schleife basteln, die alle Blätter in Deiner Mappe schützt. Das posten wir dann zurück, und Du nimmst den Code und baust ihn in Dein Excel 2010 ein. Wie genau, wird dann zu klären sein.
Am Ende sollte in Deinem Excel ein eigener Befehl stehen, der eine Mappe und ihre Blätter so schützt wie Du das willst.
nach längerem Grübeln hab ich die Lösung doch noch selber gefunden und teile dies dir und anderen Interessierten gerne mit:
Über den Menüeintrag „Überprüfen“ komme ich zu 'Arbeitsmappe schützen und freigeben". Da kann ich ein Passwort eingeben, und dann ist das erreicht, was ich will: Die Nutzer können da, wo es (von mir) vorgegeben ist, all ihre Daten eingeben, verändern und löschen. „Verbotenes“ ist ihnen aber nicht möglich. Sie können auch den Blattschutz so nicht aufheben, was mir wichtig war. Und dies ohne Makros. (PS.: Ich habe nichts gegen Makros und viele Jahre viel Sinnvolles damit erreicht. Nur in diesem Falle lass ich mit gutem Grund die Finger davon …)
Eine gute Woche und recht herzlichen Dank für deine Hilfsbereitschaft,
in einer Exceldatei soll die ganze Arbeitsmappenstruktur
geschützt werden (mit Passwort). Das krieg ich auch problemlos
hin. Nur kann dann immer noch bei jedem einzelnen
Tabellenblatt über „Format“ der Blattschutz aufgehoben werden.
Dies sollen die Nutzer aber keineswegs dürfen. Wie bitte kann
ich als Ehrenamts-Programmierer dies verhindern?
…Du könntest doch auch einfach beim Blattschutz ein Passwort vergeben, das den Usern nicht bekannt ist…?
ja, das wäre eine Alternative gewesen. Nur handelt es sich um etwa 80 Tabellenblätter in dieser Mappe, und dann artet einzelnes Schützen in Arbeit aus.
ja, das wäre eine Alternative gewesen. Nur handelt es sich um
etwa 80 Tabellenblätter in dieser Mappe, und dann artet
einzelnes Schützen in Arbeit aus.
Hallo Ludwig,
nach Benutzung kannste ja die Codes samt Modul wieder löschen.
Sub SchutzEin()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
ActiveSheet.Protect Password:="abc"
Next wks
End Sub
Sub SchutzAus()
Dim wks As Worksheet
For Each wks In ThisWorkbook.Worksheets
ActiveSheet.Unprotect Password:="abc"
Next wks
End Sub
Über den Menüeintrag „Überprüfen“ komme ich zu 'Arbeitsmappe
schützen und freigeben". Da kann ich ein Passwort eingeben,
und dann ist das erreicht, was ich will: Die Nutzer können da,
wo es (von mir) vorgegeben ist, all ihre Daten eingeben,
verändern und löschen. „Verbotenes“ ist ihnen aber nicht
möglich. Sie können auch den Blattschutz so nicht aufheben,
was mir wichtig war. Und dies ohne Makros.
…allerdings handelst Du dir damit andere Probleme ein, fürchte ich - Du hast den Teufel mit dem Beelzebub ausgetrieben…
Durch die Freigabe der Mappe können nur mehrere User gleichzeitig die Mappe berabeiten was über kurz oder lang zu Problemen führen dürfte/wird.
Daher würde ich mir echt die von Reinhard vorgeschlagene Methode überlegen alle Blätter mit eine PW zu schützen und das einmalig über ein Makro zu machen.
ein wenig spät, aber ich kam erst jetzt abschließend dazu, und dank eurer tollen Hilfe hab ich jetzt glaub ich das Ei des Kolumbus für diesen Fall gefunden:
Ich hab eine Extra-Exceldatei angelegt, die 2 Makros enthält und ausführt:
Makro 1
die eigentliche Datei öffnen
die ausgeblendeten Tabellenblätter alle einblenden
alle entschützen (incl. Verwendung des PWs)
Makro 2
in allen (86) Tabellenblättern den Cursor auf Seitenanfang setzen
alle Tabbl. wieder mit PW schützen
alle entsprechenden Tabbl. ausblenden
Speichern und Schließen mache ich vorsichtshalbder nicht per Makro.
Nochmals herzlichen Dank - ihr habt mir wieder mal sehr geholfen.