Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
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

VBA Code ergänzen

VBA Code ergänzen
28.12.2012 22:33:46
Tweri
Hallo
Ich bin soeben neu in diesem Forum eingetreten.
Da ich Excel gut aber VBA nicht gut kenne habe ich hir für mich einen passenden Eintrag gefunden.
Ich habe folgenen VBA Befehl gefunden und für mich angepasst.

Sub Blattschutz_freigeben()
' Blattschutz_freigeben Makro
' für alle Arbeitsblätter den Blattschutz entfernen
Dim Passwort As String
Passwort = Application.InputBox(prompt:="Geben Sie das Passwort ein", Type:=2)
If Passwort  "******" Then Exit Sub
Dim i As Integer
Dim pw As String
For i = 1 To ActiveWorkbook.Worksheets.Count
ActiveWorkbook.Worksheets(i).Activate
ActiveSheet.Unprotect Password:="*****"
Next i
End Sub

Nun, meine Frage.
Ist es möglich diesen Befehl zu erweitern, damit bei einer falschen Passworteingabe ein Fenster erscheint mit dem Text "Falsches Passwort".
Somit würde ich schneller oder besser sehen dass die Eingabe falsch war.
Vielen Dank für die Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Code ergänzen
28.12.2012 23:18:59
Raphael
"Exit Sub" (in der Mitte) einfach durch ein "MsgBox("Falsches Passwort!")" ersetzen (ungetestet)...

AW: VBA Code ergänzen
28.12.2012 23:44:09
Tweri
Hallo Raphael
Habe zugleich noch eine Andere Lösung bekommen welche mich zum Ziel gebracht hat. Somit habe ich deine Variante nicht mehr getestet. Aber vielen Dank für deine schnelle Hilfestellung.
Gruss Tweri

Blattschutz aufheben mit Eingabe und Meldung
28.12.2012 23:22:45
NoNet
Hallo Tweri,
hier eine erweiterte Version Deines Codes :
Public Const strPW = "abc" 'Universal-Passwort für alle Blätter
Sub Blattschutz_freigeben()
' Blattschutz_freigeben Makro
' für alle Arbeitsblätter den Blattschutz entfernen
Dim Passwort As String, ws As Worksheet, strF As String, strU As String, strT As String
Do
Passwort = Application.InputBox(prompt:="Geben Sie das Passwort ein", Type:=2)
If Passwort = strPW Then
For Each ws In ActiveWorkbook.Worksheets
If ws.ProtectContents Then
On Error Resume Next
Err.Clear
ws.Unprotect Password:=Passwort
If Err.Number > 0 Then
strF = strF & ws.Name & vbLf
End If
On Error GoTo 0
Else
strU = strU & ws.Name & vbLf
End If
Next
If strF  "" Then strT = "Folgende Blätter besitzen ein anderes Passwort :" _
& vbLf & strF & vbLf & vbLf
If strU  "" Then strT = strT & "Folgende Blätter sind ungeschützt :" _
& vbLf & strU
If strT  "" Then MsgBox strT, vbOKOnly + vbInformation, "Hinweis :"
ElseIf Passwort = CStr(False) Then
'keine Aktion
Else
Passwort = IIf(MsgBox("Passwort erneut eingeben ?", vbYesNo + vbCritical, _
"Falsches Passwort !") = vbYes, "ja", CStr(False))
End If
Loop Until Passwort = strPW Or Passwort = CStr(False)
End Sub
Neuerungen im Gegensatz zu Deinem Code :
  • Das Universal-Passwort wird ausserhalb des SUB als PUBLIC CONST deklariert, somit muss es nur einmalig im Code angegeben werden

  • Es wird nun solange nach einem Passwort gefragt, bis das Universal-Passwort eingegeben wird oder die Eingabe abgebrochen wird.

  • Ungeschützte Blätter erzeugen keine Fehler, am Ende wird eine Meldung über ungeschützte Blätter ausgegeben

  • Blätter, die mit einem anderen Passwort geschützt sind, erzeugen keine Fehler, am Ende wird eine Meldung über diese Blätter mit abweichendem Passwort ausgegeben

Gruß, NoNet

Anzeige
AW: Blattschutz aufheben mit Eingabe und Meldung
28.12.2012 23:41:51
Tweri
Hallo NoNet
Vielen Dank für deine schnelle Hilfe, habe soeben deinen Code eingegeben und funktioniert super.
Das nenne ich mal eine super, schnelle Hilfe.
Vielen Dank
Gruss Tweri

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige