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

Passwort durch Funktion

Passwort durch Funktion
06.03.2024 21:37:19
Johannes94
Hallo ihr lieben,

ich wollte per vba-code die Arbeitsblätter sowie die Arbeitsmappe sperren.
Dazu habe ich der Funktion das Passwort als String übergeben und dabei einen Laufzeitfehler erzeugt. Das Blatt ist trotzdem gesperrt und lässt sich mit dem richtigen Passwort nicht entsperren.

Vielleicht könnt ihr mir helfen zu verstehen, welches Passwort jetzt gesetzt wurde.

Function Sperren(PW as String)
Dim ws as Worksheet

For Each ws in ThisWorkbook
ws.protect PW
Next
End function

So ungefährt sieht der Code aus, ich schreibe gerade am Handy und kann ihn deswegen nicht kopieren.

Aufgerufen wurde er mit:

Call Sperren("1234MB")

Es wurde nur das erste Tabellenblatt unwiederruflich gesperrt, ich habe auch versucht mit einer Funktion und ".Unprotect" das ganze rückgängig zu machen, funktioniert aber leider nicht.

Grüße
Johannes

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwort durch Funktion
06.03.2024 21:41:44
Fennek
Hallo,

beim Lesen sieht der Code eigentlich gut aus.

Da hilft wohl nur, das Sheet-Password von Hand zu entfernen und es noch einmal zu versuchen.

mfg
AW: Passwort durch Funktion
06.03.2024 22:29:33
Onur
" und dabei einen Laufzeitfehler erzeugt" ? WELCHEN denn und WO genau?
AW: Passwort durch Funktion
06.03.2024 23:33:17
Johannes94
Bei der Ausführung von

ws.protect PW

im ersten Durchgang der Schleife. Deswegen ist auch nur die Startseite gesperrt.

Der Laufzeitfehler war 1004 o.Ä., kann morgen noch einmal nachschauen.
AW: Passwort durch Funktion
07.03.2024 09:03:51
mumpel
Hallo!

Da muss mehr passiert sein. Normalerweise dürfte es nicht zu diesem Problem kommen. Damit es zu Fehler 1004 kommt, muss vor dem Sperren noch ein anderer Code laufen. Zeig mal den gesamten Code.

Gruß, René
Anzeige
AW: Passwort durch Funktion
06.03.2024 21:55:43
Johannes94
Hallo Fennek,
was meinst du mit von Hand entfernen? Kann ich über VBA das Passwort "löschen", ohne es zu kennen?
Durch manuelle Eingabe von 1234MB, "1234MB" oder PW lässt es sich nicht entsperren.
AW: Passwort durch Funktion
06.03.2024 23:18:44
Fennek
Hallo,

es ist Konsenz, dass es hier im Forum solide zu geht, also keine Hilfe bei Überwindung von Passwörtern gegeben wird. Also Google oder die Datei, falls möglich, hochladen.

mfg
AW: Passwort durch Funktion
06.03.2024 23:29:27
Johannes94
Das steht natürlich außer Frage.

Ich möchte nur verstehen, warum es passiert ist und wie ich es rückgängig machen kann. Ich weiß ja das Passwort, dass ich übergeben habe, es steht ja noch im Code. Nur lässt es sich weder manuell über das Eingabefeld, noch über eine Funktion entsperren.

Die Datei kann ich leider nicht komplett hochladen, ich kopiere den Code morgen hier rein.
Anzeige
AW: ThisWorkbook.Sheets
07.03.2024 08:11:44
Fennek
Hallo,

ich habe den Code jetzt doch einmal getestet:

es fehlt das "Sheets" nach Thisworkbook.

Vielleicht hilft das schon.

mfg
AW: ThisWorkbook.Sheets
07.03.2024 08:49:23
Lippert, Johannes
Guten Morgen, hier nun der Original-Code, mit dem der Fehler passiert ist.



Sub WSProtect(PW As String)
Dim ws As Worksheet

ThisWorkbook.Unprotect PW

For Each ws In ActiveWorkbook.Sheets
ws.Protect PW
Next

ActiveWorkbook.Protect PW
End Sub

Sub WSUnprotect(PW As String)
Dim ws As Worksheet

ThisWorkbook.Unprotect PW

For Each ws In ActiveWorkbook.Sheets
ws.Unprotect PW
Next

End Sub


Aufgerufen wurde das ganze am Anfang, um die Seiten automatisch auf den neuesten Stand zu bringen, mit:

 Call WSUnprotect("1234MB")


Das hat noch funktioniert, nach dem Aufruf von :

Call WSProtect("1234MB")


kam in der Zeile
ws.Protect PW

der Laufzeitfehler 1004
Anzeige
AW: ThisWorkbook.Sheets
07.03.2024 09:01:56
Oberschlumpf
Hi,

hast du denn den Hinweis im Beitrag auf den du antwortest getestet?
Ja? Wieso antwortest du nicht das Ergebnis zu dem Hinweis?

Ciao
Thorsten
AW: leeres Workbook - ok
07.03.2024 09:04:56
Fennek
Hallo,

ich habe den Code in einem leeren WB in hoffentlich allen Konstellationen getestet: alles ok.

Gibt es spezielle Rahmenbedingung, Konflikte mit Events etc?


mfg
AW: leeres Workbook - ok
07.03.2024 09:23:54
Lippert, Johannes
Danke nochmal an alle für den Hilfeversuch, da mir die Zeit zu knapp wird, werde ich wohl oder übel den Code von gestern in mein Backup kopieren und die Tabellenseiten neu machen. Das geht wahrscheinlich schneller, als die Fehler- bzw. Passwortsuche.

Natürlich ohne den Code mit dem Passwort, das probiere ich nochmal in einer ruhigen Minute in einer leeren Tabelle.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige