Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Blatt sperren und entsperren per Button

Blatt sperren und entsperren per Button
20.04.2017 15:30:59
Nobby
Hallo,
Ich hätte gerne auf einem Tabellenblatt 2 Buttons, wovon der eine das Tabellenblatt sperrt und der andere das Tabellenblatt entsperrt. Allerdings soll bei dem entsperren Button die Abfrage des Kennwortes kommen, welches beim Button „Sperren“ hinterlegt ist. Beispielsweise Kennwort "entsperren".
Ich habe mal eine einfache Mappe hinzugefügt.
https://www.herber.de/bbs/user/113010.xlsb
Kann mir jemand weiter helfen?
Vielen Dank
Grüsse
Nobby
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt sperren und entsperren per Button
20.04.2017 15:48:19
Rainer
Hallo Nobby,
das geht einfach mit:

ThisWorkbook.Sheets("Tabelle1").Unprotect ("Passwort")
ThisWorkbook.Sheets("Tabelle1").Protect ("Passwort")
Um das Passwort einzugeben (womöglich mit *S*t*e*r*n*c*h*e*n*) braucht es eine Userform.
z.B. hier von Hajo_Zi:
https://www.herber.de/forum/archiv/1236to1240/1239612_Passwort_in_Inputbox_als_Sternchen.html
Gruß,
Rainer
Anzeige
AW: Blatt sperren und entsperren per Button
20.04.2017 16:04:24
Nobby
Hallo Rainer,
vielen Dank aber mit den Dateien von Hajo kann ich leider nichts anfangen bzw mein Excel. Kommt Fehlermeldung das es bei Excel für Mac nicht läuft.
und mit den beiden Workbook.sheets kann ich leider nichts anfangen :-(
Wäre toll, wenn Du mir die Datei "eben" fertig machen könntest?!
Vielen Dank und Grüsse
Nobby
Anzeige
AW: Blatt sperren und entsperren per Button
20.04.2017 15:58:46
yummi
Hallo Nobby,
mal so: https://www.herber.de/bbs/user/113012.xlsm
Wenn Du Alt + F11 drückst kommst Du in den VBA Monitor, dort unter Modul kannst Du das Passwort ändern.
Gruß
yummi
AW: Blatt sperren und entsperren per Button
20.04.2017 16:06:25
Nobby
Hallo Yummi,
SUPER..genau das habe ich gesucht!!!!
Jetzt ist mein Tag gerettet :-)
Vielen Dank (auch nochmal an Rainer)
Lg
Nobby
Anzeige
AW: Blatt sperren und entsperren per Button
20.04.2017 16:10:40
Nobby
ich nochmal :-)
Kannst Du mir es auch für die gesamte Mappe (Alle Blätter sperren und entsperren mit 2 Buttons) schreiben?
Dankeeeeee
AW: Blatt sperren und entsperren per Button
20.04.2017 20:24:12
Rainer
Hallo Nobby,
für alle Blätter mit einer Abfrage:
https://www.herber.de/bbs/user/113018.xlsm
Bedenke allerdings, dass in dieser Mappe jeder das Passwort sehen kann, wenn du dem VBA Projekt kein eigenes Passwort gibst. (Rechtsklick auf "VBAProjekct", Projekteigenschaften, Schutz)
Mit dem Passwort kann es schon bis zu mehreren Minuten dauern, bis "Hackerman" dein Passwort geknackt hat. Google ist dein Freund. Der Passwortschutz in Excel ist nicht so der große Wurf.
Gruß,
Rainer
Anzeige
AW: Blatt sperren und entsperren per Button
21.04.2017 01:07:49
Nobby
Hallo Rainer.
Vielen Dank.
Probiere ich später mal aus.
Mir geht es in erster Linie nicht um die 100% Sicherheit sondern
darum, das man nicht mal eben diese Blätter ändert,
da es sich um ein Programm für ein Doppelkopf
Turnier Handel, wo der Laptop so offen rum
steht.
MfG
NOBBY
Anzeige
AW: Blatt sperren und entsperren per Button
26.04.2017 03:32:50
Nobby
Hallo Rainer,
mir ist leider aufgefallen, das der Blattschutz aller Tabellen immer nur beim ersten mal funktioniert.
Das bedeutet, wenn ich den Schutz setze beim ersten mal und dann entsperre, funktioniert alles wunderbar. (Password muss korrekt sein)
Die Mappen werden entsperrt.
Allerdings bei erneutem Schutz setzen, und dann entsperren, reicht ein Klick auf das X der Passwortabfrage. Allerdings muss tatsächlich NUR das X geklickt werden (sofort OHNE Eingabe eines Kennwortes X Fenster schliessen klicken), denn wenn ich bspw. ein Falsches Kennwort eingebe, dann kommt die Meldung "Passwort falsch".
Also noch einmal, in der Hoffnung das ich mich richtig ausdrücke :-)
1. Versuch: Ich setze den Schutz für alle Blätter, Schutz kommt, ich entsperre mit Kennwort,
Schutz ist aufgehoben.
2. Versuch: Ich setze den Schutz für alle Blätter, Schutz kommt, ich entsperre NICHT mit Kennwort,
sondern Klicke DIREKT das X (Ohne Eingabe irgend eines zeichens in der Passwortabfrage)
und der Schutz ist AUFGEHOBEN:
Kannst Du mir da weiter helfen?
Grüsse und Danke
Nobby
Anzeige
AW: Blatt sperren und entsperren per Button
26.04.2017 06:14:30
Rainer
Hallo Nobby,
ja, dummer Fehler.
Schau mal in den VBA Code der UserForm1:

Private Sub CommandButton1_Click()
Passwort = UserForm1.TextBox1.Text
Unload UserForm1
End Sub
Private Sub UserForm_Deactivate()
Passwort = UserForm1.TextBox1
End Sub
Die erste Sub übergibt das Passwort richtig, wenn man den Button drückt.
Die zweite Sub läuft ab, wenn man "X" drückt. Da ist der Code falsch. Der "X" Button hat nie funktioniert, aber da sich die Userform das Passwort "merkt" klappt es beim 2. Versuch.
Es muss der gleiche Code sein wie bei der ersten Sub:

Private Sub UserForm_Deactivate()
Passwort = UserForm1.TextBox1.Text
End Sub
Außerdem habe ich dir noch ins Modul1 eine Zeile eingefügt, die das Passwort löscht wenn die Userform aufgerufen wird. So "merkt" es sich die Userform nicht mehr.
https://www.herber.de/bbs/user/113114.xlsm
Gruß,
Rainer
Anzeige
AW: Blatt sperren und entsperren per Button
26.04.2017 16:08:05
Nobby
Hallo Rainer,
vielen Dank, jetzt klappt es...Super.
Noch eine Kleinigkeit.....
ich hätte gerne Bspw. Tabelle 1, Zelle A1 Grün gefüllt wenn ENTSPERRT, und Rot wenn GESPERRT....
was muss ich machen?
Danke und Gruss
Nobby
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Blatt sperren und entsperren mit Buttons


Schritt-für-Schritt-Anleitung

Um ein Excel Blatt zu sperren und zu entsperren, kannst Du die folgenden Schritte ausführen:

  1. Öffne den VBA-Editor:

    • Drücke Alt + F11, um den VBA-Editor zu öffnen.
  2. Füge ein Modul hinzu:

    • Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsx) und wähle Einfügen > Modul.
  3. Füge den folgenden Code ein:

    Dim Passwort As String
    
    Sub BlattSperren()
       Passwort = "dein_passwort" ' Setze hier dein Passwort
       ThisWorkbook.Sheets("Tabelle1").Protect Passwort
    End Sub
    
    Sub BlattEntsperren()
       Passwort = InputBox("Bitte Passwort eingeben:")
       If Passwort = "dein_passwort" Then
           ThisWorkbook.Sheets("Tabelle1").Unprotect Passwort
       Else
           MsgBox "Falsches Passwort!"
       End If
    End Sub
  4. Buttons auf dem Arbeitsblatt erstellen:

    • Gehe zurück zu Deinem Excel-Blatt und füge zwei Schaltflächen (Buttons) ein über Entwicklertools > Einfügen > Schaltfläche (Formsteuerung).
    • Weisen die BlattSperren- und BlattEntsperren-Makros den jeweiligen Schaltflächen zu.
  5. Testen:

    • Klicke auf die Schaltflächen, um das Blatt zu sperren und zu entsperren. Beachte, dass Du das Passwort eingeben musst, wenn Du das Blatt entsperrst.

Häufige Fehler und Lösungen

  • Passwort Falsch: Wenn Du das falsche Passwort eingibst, zeigt Excel eine Fehlermeldung an. Stelle sicher, dass das Passwort in der Codezeile korrekt gesetzt ist.

  • Blatt kann nicht gesperrt werden: Überprüfe, ob das Blatt möglicherweise schon gesperrt ist oder ob Du die richtigen Berechtigungen hast.

  • Excel für Mac: Beachte, dass einige VBA-Funktionen nicht auf Excel für Mac funktionieren. Verwende das VBA-Projekt von Rainer als Referenz, um Kompatibilitätsprobleme zu umgehen.


Alternative Methoden

  1. Blatt mit Passwort schützen:

    • Du kannst auch das Kontextmenü verwenden, um ein Excel Arbeitsblatt zu sperren. Klicke mit der rechten Maustaste auf den Blatt-Tab und wähle Blatt schützen.
  2. VBA UserForm verwenden:

    • Eine anspruchsvollere Methode ist die Verwendung einer UserForm zur Eingabe des Passworts. Dies erfordert mehr VBA-Kenntnisse.

Praktische Beispiele

  • Beispiel für das Sperren aller Blätter:

    Sub AlleBlaetterSperren()
      Dim ws As Worksheet
      For Each ws In ThisWorkbook.Worksheets
          ws.Protect "dein_passwort"
      Next ws
    End Sub
    
    Sub AlleBlaetterEntsperren()
      Dim ws As Worksheet
      For Each ws In ThisWorkbook.Worksheets
          ws.Unprotect "dein_passwort"
      Next ws
    End Sub
  • Färbung von Zellen: Um die Zelle A1 grün zu färben, wenn das Blatt entsperrt ist, und rot, wenn es gesperrt ist, kannst Du folgende Zeilen hinzufügen:

    If Passwort = "dein_passwort" Then
      ThisWorkbook.Sheets("Tabelle1").Unprotect Passwort
      ThisWorkbook.Sheets("Tabelle1").Range("A1").Interior.Color = RGB(0, 255, 0) ' Grün
    Else
      MsgBox "Falsches Passwort!"
    End If

Tipps für Profis

  • Passwortschutz erhöhen: Vergiss nicht, auch das VBA-Projekt mit einem Passwort zu schützen, um zu verhindern, dass andere Nutzer Deinen Code sehen und das Passwort herausfinden.

  • Zellen sperren: Du kannst spezifische Zellen im Blatt sperren, um nur bestimmte Bereiche für Änderungen freizugeben.

  • Excel Liste sperren mit Passwort: Bei größeren Datenmengen kann es hilfreich sein, Listen gezielt zu sperren, um Datenintegrität sicherzustellen.


FAQ: Häufige Fragen

1. Wie kann ich das Passwort ändern?
Du kannst das Passwort im VBA-Code einfach anpassen, indem Du die Zeile Passwort = "dein_passwort" änderst.

2. Funktioniert das auch mit Excel für Mac?
Einige VBA-Funktionen sind nicht in Excel für Mac verfügbar. Stelle sicher, dass Du die richtigen Versionen und Funktionen verwendest.

3. Wie kann ich das gesamte Arbeitsblatt sperren?
Nutze die Methode AlleBlaetterSperren aus dem praktischen Beispiel, um alle Tabellenblätter gleichzeitig zu schützen.

4. Was passiert, wenn ich das Passwort vergesse?
Wenn Du das Passwort vergisst, gibt es keine einfache Möglichkeit, den Schutz aufzuheben. In diesem Fall musst Du möglicherweise auf Drittanbieter-Tools zurückgreifen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige