Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CommandButton mit passwort versehen

Forumthread: CommandButton mit passwort versehen

CommandButton mit passwort versehen
27.01.2016 14:25:18
André
Hallo alle zusammen,
vorerst muss ich zugeben, dass ich heute das erste Mal mit VBA arbeite. Ich habe folgendes Problem:
Ich würde gern ein CommandButton erstellen. Wenn ich auf diesen Button klicke, soll eine Passwortabfrage erscheinen, wenn das Passwort richtig ist, soll sich das Arbeitsblatt entsperren. Wenn ich fertig mit der Bearbeitung bin, würde ich mit einem anderen Button das Arbeitsblatt wieder schützen. -> Soweit so gut... Habe ich auch geschafft, hier der Code:
Sub SPERREN()
' SPERREN Makro
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

_____________________________________________________________________

Sub ENTSPERREN()
' ENTSPERREN Makro
'

Sub Schaltfläche1_Klicken()
Dim passwd As String
passwd = InputBox("Bitte Passwort eingeben.")
If passwd  "service" Then
MsgBox "Falsches Passwort", vbCritical, "Falsches Passwort"
Exit Sub
End If
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.Unprotect
End Sub

So, jetzt zu meinem Problem. Der "ENTSPERREN"- Button fragt mich nach einem Passwort, der "SPERREN"-Button nicht, so soll es auch sein.
Wenn ich jetzt das Blatt schütze, kann ich den Schutz der Arbeitsmappe über das Menüband - Überprüfen - Blattschutz aufheben ohne Passwort eingabe entsperren, dies soll so aber nicht sein.
Kann mir einer von Euch weiterhelfen? Ich bin am verzweifeln :(
Vorab vielen Dank für Eure Hilfe!!! :)

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton mit passwort versehen
27.01.2016 14:41:05
UweD
Hallo
dann solltest du das BLATT password mit übergeben.

Sheets("Tabelle1").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:= _
"ABC"
Sheets("Tabelle1").Unprotect Password:="ABC"
Gruß UWeD

AW: CommandButton mit passwort versehen
27.01.2016 14:48:52
André
Vielen Dank für die schnellen Antworten. Leider kenne ich mich wirklich kaum damit aus... Wäre einer von Ihnen so nett und würden mir den Code umschreiben, sodass ich den Text nur kopieren und einfügen muss?
Vielen leiben Dank! :)

Anzeige
AW: CommandButton mit passwort versehen
27.01.2016 15:08:43
UweD
OK

Sub SPERREN()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ABC"
End Sub
Sub ENTSPERREN()
Dim passwd As String
passwd = InputBox("Bitte Passwort eingeben.", , "*_**")
If passwd  "service" Then
MsgBox "Falsches Passwort", vbCritical, "Falsches Passwort"
Exit Sub
Else
ActiveSheet.Unprotect Password:="ABC"
End If
End Sub

Gruß UweD

Anzeige
AW: CommandButton mit passwort versehen
27.01.2016 15:17:37
André
DANKE DANKE DANKE DANKE DANKE :))

AW: CommandButton mit passwort versehen
27.01.2016 15:10:48
UweD
ok
Sub SPERREN()
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ABC"
End Sub
Sub ENTSPERREN()
Dim passwd As String
passwd = InputBox("Bitte Passwort eingeben.", , "*_**")
If passwd  "service" Then
MsgBox "Falsches Passwort", vbCritical, "Falsches Passwort"
Exit Sub
Else
ActiveSheet.Unprotect Password:="ABC"
End If
End Sub

Anzeige
AW: CommandButton mit passwort versehen
27.01.2016 14:44:22
selli
hallo andre,
du "sicherst" nur die ausführung des codes mit einem passwort. nicht aber das blatt.
das ginge so:
ActiveSheet.Protect Password:=passwd DrawingObjects:=True, Contents:=True, Scenarios:=True
zum sichern muss ebenfalls die frage nach einem passwort erfolgen, weil sich das ungesicherte blatt das passwort nicht merkt. birgt hier die gefahr, dass jemand zum sichern ein anderes passwort verwendet oder gar einen tippfehler drin hat. ist dies der fall, wird es schwer werden das passwort zu erraten.
gruß
selli
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

CommandButton mit Passwort in Excel VBA absichern


Schritt-für-Schritt-Anleitung

Um einen CommandButton in Excel VBA mit einem Passwort abzusichern, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge einen CommandButton hinzu: Gehe zu "Einfügen" > "Steuerelemente" und wähle "CommandButton" aus.

  3. Doppelklicke auf den CommandButton: Dies öffnet das Code-Fenster für den Button.

  4. Füge den folgenden Code ein:

    Sub SPERREN()
       ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="ABC"
    End Sub
    
    Sub ENTSPERREN()
       Dim passwd As String
       passwd = InputBox("Bitte Passwort eingeben.")
       If passwd <> "ABC" Then
           MsgBox "Falsches Passwort", vbCritical, "Falsches Passwort"
           Exit Sub
       End If
       ActiveSheet.Unprotect Password:="ABC"
    End Sub
  5. Schließe den VBA-Editor und teste die Buttons direkt in deinem Arbeitsblatt.


Häufige Fehler und Lösungen

  • Fehler: Das Blatt kann ohne Passwort geschützt werden.

    • Lösung: Stelle sicher, dass das Passwort im Protect-Befehl übergeben wird, wie im obigen Code gezeigt.
  • Fehler: Eingabeaufforderung für das Passwort erscheint nicht.

    • Lösung: Überprüfe den Code im ENTSPERREN-Sub und stelle sicher, dass die InputBox korrekt implementiert ist.

Alternative Methoden

Eine alternative Methode zur Passwortsicherung deines Arbeitsblatts ist die Verwendung von Formeln, um bestimmte Zellen zu sperren. Du kannst auch VBA verwenden, um das Arbeitsblatt nur zu bestimmten Zeiten zu schützen oder zu entsperren, basierend auf benutzerdefinierten Bedingungen.

Hier ist ein Beispiel:

Sub BedingteSicherung()
    If Now.Hour >= 8 And Now.Hour <= 18 Then
        ActiveSheet.Protect Password:="ABC"
    Else
        ActiveSheet.Unprotect Password:="ABC"
    End If
End Sub

Praktische Beispiele

Wenn du ein Arbeitsblatt hast, das sensible Daten enthält, kannst du den Code so anpassen, dass unterschiedliche Passwörter für verschiedene Benutzer verwendet werden. Hier ist ein einfaches Beispiel:

Sub BenutzerAbfrage()
    Dim passwd As String
    passwd = InputBox("Bitte Passwort für den Zugriff eingeben.")
    Select Case passwd
        Case "User1"
            ActiveSheet.Unprotect Password:="User1Pass"
        Case "User2"
            ActiveSheet.Unprotect Password:="User2Pass"
        Case Else
            MsgBox "Unbekannter Benutzer", vbCritical
    End Select
End Sub

Tipps für Profis

  • Verwende starke Passwörter: Anstelle von einfachen Passwörtern wie "ABC", verwende komplexe Kombinationen aus Buchstaben, Zahlen und Sonderzeichen.
  • Kommentiere deinen Code: Halte deinen Code gut dokumentiert, damit du und andere ihn später leichter verstehen können.
  • Erstelle Sicherungskopien: Bevor du Anpassungen vornimmst, erstelle eine Sicherungskopie deiner Excel-Datei.

FAQ: Häufige Fragen

1. Wie kann ich das Passwort ändern?
Du kannst das Passwort einfach im Code im Protect und Unprotect Befehl ändern.

2. Was passiert, wenn ich das Passwort vergesse?
Wenn du das Passwort vergisst, gibt es keine Möglichkeit, das Blatt ohne spezielle Software oder Tools wiederherzustellen. Es ist wichtig, das Passwort sicher zu speichern.

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