Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

unprotect / protect passwortabfrage

unprotect / protect passwortabfrage
22.11.2006 21:56:48
Nils
Mit diesem CODE sperre ich meine Arbeitsblätter bzw. entsperre sie:

Sub Blattschutz_ein()
Dim wks As Worksheet
myPwd = Application.InputBox("Passwort eingeben")
myPwd2 = Application.InputBox("Wiederholung")
If myPwd = myPwd2 Then
For Each wks In ActiveWorkbook.Worksheets
wks.Protect Password:=myPwd
Next wks
Else: MsgBox ("Paßwort übereinstimmend eingeben")
End If
End Sub


Sub Blattschutz_aus()
Dim wks As Worksheet
myPwd = Application.InputBox("Passwort eingeben")
For Each wks In ActiveWorkbook.Worksheets
wks.Unprotect Password:=myPwd
Next wks
End Sub

Gibt man bei "Blattschutz_aus()" ein falsches Passwort ein, kommt ein Laufzeitfehler! Kann man diesen Fehler im Makro abfangen?
Von wegen:
On Error GoTo FalschesPasswort
Wenn ja, kann mir jemand den Code entsprechend editieren?
Eine Meldung mit "Falsches Passwort" wäre gut...

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: unprotect / protect passwortabfrage
22.11.2006 22:05:37
mumpel
Hallo!
So geht's.

Sub Blattschutz_aus()
On Error Resume Next
Dim wks As Worksheet
myPwd = Application.InputBox("Passwort eingeben")
For Each wks In ActiveWorkbook.Worksheets
wks.Unprotect Password:=myPwd
Next wks
End Sub

Gruss Rene
AW: unprotect / protect passwortabfrage
22.11.2006 22:12:54
Nils
cool funktioniert!
kann man zusätzlich eine fehlermeldung einbauen? Damit man auch bescheid weiß ein falsches Passwort eingegeben zu haben?
AW: unprotect / protect passwortabfrage
22.11.2006 22:14:13
mumpel
Ja, das geht.

Sub Blattschutz_aus()
On Error GoTo Fehler
Dim wks As Worksheet
myPwd = Application.InputBox("Passwort eingeben")
For Each wks In ActiveWorkbook.Worksheets
wks.Unprotect Password:=myPwd
Next wks
Exit Sub
Fehler:
MsgBox "Das Paßwort ist falsch. Bitte wiederholen!", vbInformation + vbOKOnly, "Hinweis"
End Sub

Gruss Rene
Anzeige
AW: unprotect / protect passwortabfrage
22.11.2006 22:25:21
Nils
das funktioniert auch!
Cool!!!
Eins hätte ich da noch! Kann man mein "Blattschutz_ein()" so erweitern, dass auch die Arbeitsmappe, die Struktur (nicht die Fenster) mit gleichem Passwort geschützt wird!? Bei "Blattschutz_aus()" müsste dieser Schutz dann auch wieder aufgehoben werden...
AW: unprotect / protect passwortabfrage
22.11.2006 22:35:31
Nils
ohh ohh!
Mein Makro hat noch einen Fehler!
Führe ich "Blattschutz_ein()" aus und klicke auf abbrechen, komm ich zur Passwort Wiederholungseingabe (Wird nicht abgebrochen)! Klicke ich dann nochmal auf abbrechen schützt das Makro meine Blätter mit einem unbekanntem Passwort! Das ist ja nicht erwünscht...
Anzeige
AW: unprotect / protect passwortabfrage
22.11.2006 22:58:34
mumpel
Den Blattschutz kannst Du in diesem Fall aufheben, indem Du auch bei "Blattschutz_aus" auf abbrechen klickst.
Gruss Rene
AW: unprotect / protect passwortabfrage
22.11.2006 23:03:32
Nils
ok, danke, geht wirklich :)
zum Arbeitsmappen-Schutz... Hab das hier gefunden,weiß aber nicht wie ich das einbauen muss! Hab keine Ahnung von VBA :(
ich meine das hier:
in "Blattschutz_ein()" müsste das noch eingebaut werden:
ActiveWorkbook.Protect Password:=myPwd, Structure:=True, Windows:=False
und in "Blattschutz_aus()" das hier:
ActiveWorkbook.Unprotect myPwd
AW: unprotect / protect passwortabfrage
22.11.2006 23:14:51
mumpel

Sub Blattschutz_ein()
On Error Resume Next
Dim wks As Worksheet
myPwd = Application.InputBox("Passwort eingeben")
If myPwd = 0 Then Exit Sub
myPwd2 = Application.InputBox("Wiederholung")
If myPwd = myPwd2 Then
For Each wks In ActiveWorkbook.Worksheets
wks.Protect myPwd
wkb.Protect myPwd, Structure:=True, Windows:=False
Next wks
ActiveWorkbook.Protect myPwd, Structure:=True, Windows:=False
Else: MsgBox ("Paßwort übereinstimmend eingeben")
End If
End Sub


Sub Blattschutz_aus()
On Error GoTo fehler
Dim wks As Worksheet
myPwd = Application.InputBox("Passwort eingeben")
ActiveWorkbook.Unprotect myPwd
For Each wks In ActiveWorkbook.Worksheets
wks.Unprotect myPwd
Next wks
Exit Sub
fehler:
MsgBox "Das Paßwort ist falsch. Bitte wiederholen!", vbInformation + vbOKOnly, "Hinweis"
End Sub

Gruss Rene
Anzeige
AW: unprotect / protect passwortabfrage
22.11.2006 23:03:57
mumpel
Und hier das richtige Makro. Klicks Dumn jetzt auf 2Abbrechen", wird das makro beendet

Sub Blattschutz_ein()
On Error Resume Next
Dim wks As Worksheet
mypwd = Application.InputBox("Passwort eingeben")
If mypwd = 0 Then Exit Sub
myPwd2 = Application.InputBox("Wiederholung")
If mypwd = myPwd2 Then
For Each wks In ActiveWorkbook.Worksheets
wks.Protect mypwd
Next wks
Else: MsgBox ("Paßwort übereinstimmend eingeben")
End If
End Sub

Gruss Rene

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige