Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

blattschutz aktivieren durch excel beenden

Forumthread: blattschutz aktivieren durch excel beenden

blattschutz aktivieren durch excel beenden
17.11.2007 18:43:00
Marco
hallo,
ich habe ein problem:
bin noch ein ziemlicher anfänger in vba sachen.
ich möchte gern, daß, wenn ich ein excel formular über die gängigen schaltflächen beende, der blattschutz aktiviert wird.
habe schon einiges probiert, aber das funktioniert nur, wenn ich ein steuerelement einfügen würde.
bekommt man es auch auch anders hin.
grüße
marco

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: blattschutz aktivieren durch excel beenden
17.11.2007 18:48:16
Hajo_Zi
Hallo Marco,
benutze Private Sub Workbook_BeforeClose(Cancel As Boolean)
unter DieseArbeitsmappe

AW: blattschutz aktivieren durch excel beenden
17.11.2007 19:02:41
Marco
hallo hajo,
danke
das klappt ja schon mal recht gut, aber es wird dann nur die tabelle geschützt, die vorm benden der datei geöffnet war.
die anderen tabellen sind nach wie vor ungeschützt.
gibts da eine andere möglichkeit?
grüße
marco

Anzeige
AW: blattschutz aktivieren durch excel beenden
17.11.2007 19:10:00
Hajo_Zi
Hallo Marco,

Dim WsTabelle As Worksheet
For Each WsTabelle In Sheets
WsTabelle.Protect ("Password")
Next WsTabelle


Gruß Hajo

AW: blattschutz aktivieren durch excel beenden
17.11.2007 19:15:35
Marco
hallo hajo,
jetzt funktionierts.
vielen dank, und nen schönen abend noch.
grüße
marco
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-Blattschutz automatisch aktivieren beim Schließen


Schritt-für-Schritt-Anleitung

Um den Excel-Blattschutz automatisch beim Schließen einer Arbeitsmappe zu aktivieren, kannst Du folgenden VBA-Code verwenden:

  1. Öffne Deine Excel-Datei.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Im Projekt-Explorer auf der linken Seite, suche nach „DieseArbeitsmappe“ unter Deinem Arbeitsmappen-Namen.

  4. Doppelklicke auf „DieseArbeitsmappe“.

  5. Füge den folgenden Code ein:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Dim WsTabelle As Worksheet
       For Each WsTabelle In ThisWorkbook.Sheets
           WsTabelle.Protect "DeinPasswort" ' Setze hier Dein Passwort ein
       Next WsTabelle
    End Sub
  6. Ersetze "DeinPasswort" durch ein Passwort, das Du für den Blattschutz verwenden möchtest.

  7. Schließe den VBA-Editor und speichere die Arbeitsmappe als „Excel-Arbeitsmappe mit Makros“ (*.xlsm).

  8. Jetzt wird der Blattschutz aktiviert, wenn Du die Datei schließt.


Häufige Fehler und Lösungen

  • Problem: Der Blattschutz wird nur für die aktive Tabelle aktiviert.

    • Lösung: Stelle sicher, dass der obige Code in „DieseArbeitsmappe“ eingefügt wird und For Each über alle Tabellen iteriert.
  • Problem: Excel zeigt eine Fehlermeldung beim Schließen an.

    • Lösung: Überprüfe, ob Du ein Passwort verwendet hast und ob es korrekt ist. Wenn Du kein Passwort benötigst, kannst Du die Zeile mit WsTabelle.Protect einfach entfernen.

Alternative Methoden

Eine andere Möglichkeit, den Blattschutz in Excel zu aktivieren, besteht darin, ein Steuerelement zu verwenden, wie z.B. einen Button, der den Schutz aktiviert, wenn Du darauf klickst. Hier ist ein Beispiel:

  1. Füge einen Button über die Entwicklertools ein.
  2. Verlinke den Button mit einem Makro, das den Blattschutz aktiviert.

Der Code für das Makro könnte wie folgt aussehen:

Sub BlattschutzAktivieren()
    Dim WsTabelle As Worksheet
    For Each WsTabelle In ThisWorkbook.Sheets
        WsTabelle.Protect "DeinPasswort"
    Next WsTabelle
End Sub

Praktische Beispiele

Wenn Du eine Arbeitsmappe mit mehreren Tabellen hast, und Du sicherstellen möchtest, dass alle Tabellen geschützt sind, kannst Du den oben genannten Code verwenden. Dies ist besonders nützlich in Szenarien, in denen mehrere Benutzer auf die Datei zugreifen.

Beispiel: Du hast eine Excel-Datei mit „Daten“, „Bericht“ und „Übersicht“. Mit dem VBA-Code wird beim Schließen der Datei der Blattschutz für alle drei Tabellen aktiviert.


Tipps für Profis

  • Passwortmanagement: Verwende ein sicheres Passwort, um den Blattschutz zu aktivieren. Notiere es an einem sicheren Ort.
  • Automatisierung: Du kannst ähnliche Automatisierungen für andere Excel-Events wie „Workbook_Open“ erstellen, um den Blattschutz beim Öffnen zu überprüfen.
  • Testen: Teste den Code in einer Kopie Deiner Arbeitsmappe, um sicherzustellen, dass alles wie gewünscht funktioniert, bevor Du es in einer produktiven Datei verwendest.

FAQ: Häufige Fragen

1. Frage: Kann ich den Blattschutz für bestimmte Zellen innerhalb einer Tabelle deaktivieren? Antwort: Ja, Du kannst bestimmte Zellen entsperren, bevor Du den Blattschutz aktivierst, indem Du die Zellen auswählst und unter „Format“ > „Zellen“ die Option „Gesperrt“ deaktivierst.

2. Frage: Funktioniert dieser Code in allen Excel-Versionen? Antwort: Ja, der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, solange Du Makros aktiviert hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige