Excel 2010 'Blattschutz aufheben' sperren

Guten Tag, liebe Experten(-innen),

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.

Vielen Dank für Rat und Hilfe,

Ludwig

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.

Gruß
Reinhard

Oh je, das klingt nicht trostreich …

Gleichwohl vielen Dank und schönen Gruß,

Ludwig

Hi,

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.

HTH.

Markus

Und Sterne…

Lösung gefunden
Hi Markus,

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,

Ludwig

Grüezi Ludwig

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…?

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Thomas,

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.

Ich danke dir aber sehr für deine Mühe.

Mit einem freundlichen Gruß

Ludwig

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

Gruß
Reinhard

Grüezi Ludwig

Ü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… :wink:

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.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Reinhard und Thomas,

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

  1. die eigentliche Datei öffnen
  2. die ausgeblendeten Tabellenblätter alle einblenden
  3. alle entschützen (incl. Verwendung des PWs)

Makro 2

  1. in allen (86) Tabellenblättern den Cursor auf Seitenanfang setzen
  2. alle Tabbl. wieder mit PW schützen
  3. alle entsprechenden Tabbl. ausblenden

Speichern und Schließen mache ich vorsichtshalbder nicht per Makro.

Nochmals herzlichen Dank - ihr habt mir wieder mal sehr geholfen.

Beste Grüße

Ludwig