Makros und Blattschutz
#1
Hallo zusammen,

Hilfe, ich kriege es einfach nicht hin!

Konkret: mein Makro, das ich schreiben möchte (per Aufzeichnung) hat mir sehr viel Schwierigkeiten bereitet. Ein Problem habe ich mit Hilfe des Netzes lösen können (leider nicht im Forum, aber egal). Jetzt geht es darum, im Rahmen des Makros die betreffende Datei per Blattschutz zu schließen und damit  gegen unbefugten Zugriff auf Datei-Formeln zu sichern. Das klappt auch (Makro wurde ausprobiert, beim nächsten Öffnen der Datei ist der Blattschutz aktiviert), aber durch einfaches Anklicken des Button ist der Blattschutz wieder aufgehoben, obwohl bei dessen Erstellung eine Zahlenkombination als Schlüssel zweimal eingegeben wurde.

Warum ist das so? Zur Erleichterung des "Ganzen" habe ich die Makrobefehle am Schluss der VBA-Datei nachstehend aufgeführt. Kann man da irgendwo eine Zahlenkombination einfügen?i

Vvielen dank für Eure Unterstützung!

.Apply
    End With
    Range("B6").Select
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
Top
#2
Moin!
Du musst der Worksheet.Protect-Methode auch den Parameter Password:= mitgeben.
https://docs.microsoft.com/de-de/office/...et.protect

Dass der Blattschutz nicht sicher ist, weißt Du sicherlich.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#3
Hallo Ralf,

erst einmal vielen Dank für deine Antwort.

Ich glaube, ich habe verstanden, was Du meinst. Da ich mich aber mit der VBA-Syntax überhaupt nicht auskenne (ich nutze immer nur den Aufzeichenungsbutton), wäre ich Dir sehr dankbar, wenn du unter Verwendung der bisher schon von mir übersandten Befehlsfolge (ich kann auch gern noch mehr schicken) die zutreffenden Befehle an der richtigen Stelle einsetzen könntest.:20:

Das wäre super!"
Top
#4
Es ist nie zu spät, sich einzulesen! Wink

Zunächst mal kannst Du alle defaults rausschmeißen, also alles!
(wenn in der Hilfe (siehe Link) also steht: "Der Standardwert ist True", dann braucht man ihn auch nicht explizit anzugeben)

Wenn die benannten Parameter in der korrekten Reihenfolge vorliegen, braucht man sie auch nicht zu schreiben.
Es ist aber immer sinnvoll, dies dennoch zu tun, gerade für einen Rookie.

Heißt: alles drei geht.
ActiveSheet.Protect Password:="123"
ActiveSheet.Protect "123"
ActiveSheet.Protect 123 '(nur bei Ziffern!)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Olli W.
Top
#5
Hallo Ralf,

vielen, vielen Dank, der Rookie (ich musste ersteinmal checken, was das ist, blöde Anglizismen) hat es nach einigen Versuchen hinbekommen.

Jetzt habe ich noch eine abschließende Frage. Der Button "Ausführen" ist ja jetzt ohne Passwort gesperrt. Nicht jedoch die anderen Button, wie z. B. "Schritt" oder "Löschen" oder "Bearbeiten".

Wenn man z. b. "Bearbeiten" aufruft, kann man auch sofort das Passwort sehen.

Frage deshalb:  Kann man die auch noch per Passwort schützen?

Viele Grüße

Olli W.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste