Anzeige
Archiv - Navigation
1164to1168
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

Konstante als Password verwenden

Konstante als Password verwenden
Jan
Hi Leute,
kann mir jemand helfen, wie ich ein Passwort das in der gesamten Arbeitsmappe den Blattschutz sichert als Konstante definiere? Ich rufe das Passwort in mehreren Makros auf und möchte es, falls ich es ändern möchte nur noch einmal ändern.
Mein Versuch:
1. das hier unten in "Diese Arbeitsmappe"
Sub psw()
Const psw As String = "456"
End Sub

2.dann im Modul/Makro aufrufen mit:
ActiveSheet.Unprotect Password:=psw
Kann ja nicht so schlimm sein, kriegs aber nicht hin. Habs auch schon mit public const versucht, _
aber naja...
Viele Grüße,
Jan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Variable ausserhalb von SUB definieren
16.07.2010 14:50:43
SUB
Hallo Jan,
definiere die Variable AUSSERHALB der SUBS auf Modulebene :
Public Const psw As String = "456"
Sub BlattEntsperren()
ActiveSheet.Unprotect Password:=psw
End Sub
Und noch ein Tipp : verwende NIEMALS für ein SUB und eine Variable den gleichen Namen (psw), das KANN (muss aber nicht) unverhersehbare Auswirkungen haben !!
Gruß, NoNet
Konstante in Sub Workbook_Open() nicht verfügbar
16.07.2010 15:25:26
Jan
Hmm, dann funktioniert nur leider das nicht mehr:
Sub Workbook_Open()
Dim Abfrage As Integer
Dim ws As Worksheet
For Each ws In Worksheets
ws.Protect Password:=psw, userinterfaceonly:=True, DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True
ws.EnableAutoFilter = True 'ermöglicht Autofilter
ws.EnableOutlining = True 'ermöglicht Gruppierung/Gliederung
Next ws
Ist denn die Konstante auch nur auf Modulebene verfügbar und nicht in den Arbeitsblättern?
Beste Grüße und Danke schön,
Jan
Anzeige
AW: Konstante in Sub Workbook_Open() nicht verfügbar
16.07.2010 15:44:58
fcs
Hallo Jan,
Public-Konstanten müssen in einem allgemeinen Modul (Modul1, Module2 etc. deklariert werden. Nicht in einem Tabllen- oder Userform-Modul , nicht unter DieseArbeitsmappe.
Dann ist die Verwendung in allen anderen Modulen möglich. Sinnvoller Weise legt man für solche Deklarationen bei größeren VBA-Projekten ein eigenes Modul an.
Gruß
Franz
hab ich auch so gemacht
16.07.2010 15:58:25
Jan
Hi Franz, das hab ich gemacht. Die Zeile:
Public Const psw As String = "456"
steht in Modul 3.
Wenn ich die Tabelle aber aufmache, bleibt der Kompilierer bei der Zeile:
ws.Protect Password:=psw, userinterfaceonly:=True, DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True
in der Sub Workbook_Open() (siehe oben) hängen, die in "Diese Arbeitsmappe" steht.
Ist das ein grundsätzliches Problem, oder stell ich mich nur dä***ch an?
VG, Jan
Anzeige
AW: hab ich auch so gemacht
16.07.2010 17:09:13
fcs
Hallo Jan,
ich hab deinen Codeschnippsel in einer Datei getestet.
Grundsätzlich funktioniert er. Auch wenn ein Blatt ausgeblendet ist.
Probleme gibt es, wenn die Arbeitsmappe freigegeben ist, dann kann der Blattschutz nicht verändert werden.
Fehlermeldung: 1004 Blattschutz ....
Ob es noch andere Einstellungen gibt, die nicht zulassen, dass der Blattschutz-Status verändert wird, kann ich so nicht sagen.
Gruß
Franz
meine Test-Ergebnisse
16.07.2010 20:16:11
Matthias
Hallo
benutzt Du auch wirklich XL2003 ?
Ich habe mal unter XL 2000 getestet und da meckert VBA mich an
wg. AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True
nehm ich das raus klappts einwandfrei
Unter XL2007 klappt alles
auch mit: AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True
Gruß Matthias
Anzeige
AW: meine Test-Ergebnisse
22.07.2010 18:11:09
Jan
Hi Leute, sorry war ein paar Tage offline.
Ich benutze wirklich, wirklich die 2003 Version (SP3).
Scheint doch komplizerter zu sein als ich dachte...naja, veränder ich die Passwörter eben mit der Hand (wenn es sich zu sehr rumgesprochen hat).
Aber trotzdem vielen Dank für euren Grips.
Gruß, Jan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige