Anzeige
Archiv - Navigation
1496to1500
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 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

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

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

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige