Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Blattschutz aufheben per VBA mit man. PW-Eingabe?

Blattschutz aufheben per VBA mit man. PW-Eingabe?
03.06.2016 09:44:32
Juergen
Hallo zusammen,
vielleicht könnt Ihr mir nochmal mit einem Problem weiterhelfen.
Ich möchte eine Datei mit vielen Arbeitsblättern (über 40) den Arbeitsblattschutz für alle Arbeitsblätter gleichzeitig per Makro aufheben.
Das ist soweit kein Problem, wenn ich das PW in das Makro reinschreibe. Ich möchte das aber folgendermassen lösen:
Makro soll mich zur Eingabe des Passworts auffordern. Nach manueller PW-Eingabe werden dann alle Blätter entsperrt.

Gibt es da eine Möglichkeit? Ich selbst komme damit nicht weiter.
Lieben Dank vorab!
Juergen

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz aufheben per VBA mit man. PW-Eingabe?
03.06.2016 10:25:33
UweD
Hallo Jürgen
so?

Sub PW()
On Error GoTo Fehler
Dim Pass As String, SH
Pass = InputBox("Passwort?", "Freigabe aller Sheets", "xxx")
For Each SH In ActiveWorkbook.Sheets
SH.Unprotect (Pass)
Next
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & _
Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD

Anzeige
AW: Blattschutz aufheben per VBA mit man. PW-Eingabe?
03.06.2016 10:27:47
ChrisL
Hi Juergen
Sub t()
Dim varAntwort As Variant
Dim WS As Worksheet
varAntwort = Application.InputBox("Bitte Passwort eingeben", "Passworteingabe", "Passwort")
If varAntwort = False Then Exit Sub
On Error GoTo ErrorHandler
For Each WS In ThisWorkbook.Worksheets
WS.Unprotect varAntwort
Next WS
Exit Sub
ErrorHandler:
MsgBox "falsches Passwort"
End Sub

cu
Chris

Anzeige
AW: Blattschutz aufheben per VBA mit man. PW-Eingabe?
03.06.2016 14:30:01
Juergen
Hallo Chris, hallo Uwe,
lieben Dank für Eure Vorschläge.
Ich habe jetzt zunächst mal folgendes Makro probiert (siehe unten) ... funktioniert tadellos und erfüllt eigentlich alle meine Anforderungen.
So auf den ersten Blick sind Eure beiden Lösungen sehr ähnlich. Bin immer wieder überrascht, wie schnell man hier im Forum kompetente Anworten erhält! Ganz lieben Dank!!!
Jürgen
Sub Aufheben()
Dim i As Long
Dim p1 As String
Dim p2 As String
p1 = InputBox("Bitte Passwort eingeben!", "Passworteingabe")
If p1 = "" Then
MsgBox "Kein Passwort eingegeben!" & vbLf & vbLf & "Blattschutz wird nicht nicht  _
aufgehoben!"
Exit Sub
End If
On Error GoTo fehler
For i = 1 To Sheets.Count
Sheets(i).Unprotect p1
Next i
MsgBox "alle Blätter wurden entsperrt"
fehler:
If Err Then MsgBox "Falsches Passwort"
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Blattschutz aufheben mit VBA und Passwortabfrage


Schritt-für-Schritt-Anleitung

Um den Blattschutz in Excel per VBA aufzuheben und gleichzeitig eine manuelle Passwortabfrage zu integrieren, kannst du folgendes Makro verwenden. Dieses Beispiel zeigt dir, wie du alle Arbeitsblätter in einer Arbeitsmappe entsperren kannst, nachdem du das Passwort eingegeben hast.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Menü Einfügen die Option Modul, um ein neues Modul hinzuzufügen.
  3. Kopiere den folgenden Code in das Modul:
Sub BlattschutzAufheben()
    Dim i As Long
    Dim Passwort As String
    Passwort = InputBox("Bitte Passwort eingeben!", "Passworteingabe")

    If Passwort = "" Then
        MsgBox "Kein Passwort eingegeben!" & vbLf & "Blattschutz wird nicht aufgehoben!"
        Exit Sub
    End If

    On Error GoTo Fehler
    For i = 1 To Sheets.Count
        Sheets(i).Unprotect Passwort
    Next i
    MsgBox "Alle Blätter wurden entsperrt"
    Exit Sub

Fehler:
    MsgBox "Falsches Passwort"
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Häufige Fehler und Lösungen

  • Falsches Passwort: Wenn du das falsche Passwort eingibst, erhältst du die Fehlermeldung "Falsches Passwort". Stelle sicher, dass das Passwort korrekt ist.

  • Kein Passwort eingegeben: Wenn du das Eingabefeld leer lässt, wird der Blattschutz nicht aufgehoben. Achte darauf, das Passwort einzugeben.

  • Blattschutz nicht entfernt: Wenn das Makro den Blattschutz nicht aufheben kann, überprüfe, ob der Blattschutz tatsächlich mit dem angegebenen Passwort geschützt ist.


Alternative Methoden

Es gibt verschiedene Ansätze, um den Blattschutz aufzuheben. Hier sind zwei alternative VBA-Skripte, die du verwenden kannst:

  1. Einfaches Makro: Dieses Skript verwendet eine InputBox für die Passwortabfrage und eine einfache Fehlerbehandlung.
Sub PW()
    Dim Pass As String, SH As Worksheet
    Pass = InputBox("Passwort?", "Freigabe aller Sheets", "xxx")

    For Each SH In ActiveWorkbook.Sheets
        SH.Unprotect (Pass)
    Next
End Sub
  1. Mit Error Handling: Dieses Skript gibt eine spezifische Fehlermeldung aus, falls das Passwort falsch ist.
Sub t()
    Dim varAntwort As Variant
    Dim WS As Worksheet
    varAntwort = Application.InputBox("Bitte Passwort eingeben", "Passworteingabe", "Passwort")

    If varAntwort = False Then Exit Sub
    On Error GoTo ErrorHandler

    For Each WS In ThisWorkbook.Worksheets
        WS.Unprotect varAntwort
    Next WS
    Exit Sub

ErrorHandler:
    MsgBox "Falsches Passwort"
End Sub

Praktische Beispiele

Hier sind einige praktische Beispiele für den Einsatz des VBA-Codes:

  • Blattschutz aufheben für alle Blätter: Verwende das oben angegebene Makro, um den Blattschutz für alle Arbeitsblätter einer Arbeitsmappe gleichzeitig aufzuheben.

  • Passwortschutz für spezifische Blätter setzen: Du kannst den Blattschutz auch mit einem Passwort setzen, indem du folgenden Code verwendest:

Sub BlattschutzSetzen()
    Dim WS As Worksheet
    For Each WS In ThisWorkbook.Worksheets
        WS.Protect Password:="deinPasswort"
    Next WS
End Sub

Tipps für Profis

  • Sichere deine Passwörter: Überlege dir, ein sicheres Passwort zu verwenden, um den Blattschutz zu schützen. Vermeide einfache Passwörter, die leicht zu erraten sind.

  • Dokumentation: Dokumentiere deine VBA-Codeänderungen, um später nachvollziehen zu können, welche Anpassungen du vorgenommen hast.

  • Makros testen: Teste deine Makros in einer Kopie deiner Arbeitsmappe, um ungewollte Änderungen an deinen Daten zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich den Blattschutz ohne Passwort aufheben?
Wenn du das Passwort vergessen hast, kannst du den Blattschutz nur mit speziellen Tools oder durch das Erstellen eines neuen Arbeitsblattes, das die Daten ohne den Schutz enthält, umgehen.

2. Kann ich den Blattschutz automatisch entfernen, wenn ich das Passwort nicht kenne?
Es ist nicht möglich, den Blattschutz ohne das richtige Passwort zu entfernen, es sei denn, du verwendest spezielle Software, die dafür entwickelt wurde. Achte darauf, dass der Einsatz solcher Tools gegen die Nutzungsbedingungen von Excel verstoßen kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige