Tabellenblattschutz Protect UserInterfaceOnly

Bild

Betrifft: Tabellenblattschutz Protect UserInterfaceOnly
von: Vliegen
Geschrieben am: 22.04.2005 12:30:59
Hallo allesamt,
Hier eine etwas längere Frage mit Gedanken. Damit ich nicht erst versuche udnd dann feststelle es klappt nicht mach ich mich lieber erst mal bei Wissenden schlau. Hoffe ihr habt verständnis für Fragen die teilweise seltsam einfach anmuten können. Aber man muss ja erst mal lernen und macht auch Fehler, die manchmal sehr schwer zu beheben sind...
Mein Problem :
Tabellenblätter ausblenden und dann per Makro ansprechen klappt nur wenn dort im Code keine Sheets("Tabelle").Select oder Activate vorkommen.
Auch wenn ich mittlerweile weiss dass man in VBA in 99 % der Fälle auf Select und Activate verzichten kann hab ich das erst einmal lernen müssen (danke Hajo :-). Leider waren zu dem Zeitpunkt in meinem Projekt bereits mehr als 10 gut laufende Formulare mit jeweils mehreren tausend Zeilen Code voller Activate und Select entstanden. So ist es denn auch fast unmöglich alle zu überarbeiten und im Code alles zu ersetzen ohne dabei zuviel Durcheinander zu schaffen (ich traue es mir jedenfalls nicht zu). Ich kann also in meinem bisherigen Projekt bestimmte Tabellenblätter nicht ausblenden um sie vor der Neugier der Nutzer zu schützen.
Mein zeiter Gedanke dazu war dann es über einen Schutz der Tabellenblätter mit Passwortabfrage probieren. Bei laufendem Makro wird dann aber bei jedem Select oder Activate das Schutzpasswort gefragt, geht also auch nicht...
Hab jetzt vielleicht einen Lösungsansatz gefunden, bin mir aber nicht sicher ob es so klappt?
Habe im Archiv herausgefunden dass man Tabellen auch bedingt schützen kann mit
Protect.Passwort="", UserInterfaceOnly:= True
Hat hier jemand Erfahrung damit und weiss ob dann meine Makros mit Select und Activate ohne ständige PW-Abfrage laufen würden und der Nutzer doch PW-fällig bliebe. Dann würde die Sache ja passen wie die Faust aufs Auge.
Hab mir auch eine etwas andere Lösung ausgedacht : Wenn ich die Registerlaschen ausblenden würde und den Übergang von einem Tabellenblatt zum anderen nur über Schaltflächen (weiter - zurück) gestalten würde könnte ich ja bestimmte Rechenblätter in denen der Nutzer nichts verloren hat übergehen. Kann das klappen? Und was für ein Code würde mein Anwendung automatisch beim Start in der Vollbildansicht und mit ausgeblendeten Registerlaschen starten und auch sicherstellen, dass der Nutzer diese Einstellungen selber nicht so einfach ändern kann (PW oder so).
Freue mich über alle Denkanstösse und Tipps.
Gruss,
François

Bild

Betrifft: AW: Tabellenblattschutz Protect UserInterfaceOnly
von: Ramses
Geschrieben am: 22.04.2005 12:36:25
Hallo
der Ansatz ist schon mal richtig, nur dass
Protect.Passwort="", UserInterfaceOnly:= True
A) nicht funktioniert und B) kein Passwort setzt, weil "" geschrieben ist :-)
Wenn du das richtige Passwort weisst, ist das aber kein Problem
Am Anfang deines Makros
ActiveSheet.Unprotect Password:="DeinPasswort"
und am Ende
ActiveSheet.Protect Passwort="DeinPasswort", UserInterfaceOnly:= True
wieder den Schutz einschaltest, ist der normale Benutzer nach wie vor Passwort pflichtig.
Er darf das makro bloss nicht unterbrechen :-).... sonst ist die Tabelle ungeschützt.
Du musst einfach prüfen, dass am Ende wenn die Datei geschlossen wird, oder bei einem möglichen Dialog gesteuerten Ausstieg, der Schutz wieder gesetzt wird.
Gruss Rainer
Bild

Betrifft: AW: Tabellenblattschutz Protect UserInterfaceOnly
von: Vliegen
Geschrieben am: 22.04.2005 13:46:51
Hallo Ramses,
Danke für deine schnelle Hilfe !
Verstehe ich dich richtig.
Ich muss das in jedes Makro setzen dass auf die bestimment Tabellenblätter per Select oder Activate zugreift oder kann ich die Sache auch so machen dass ich den Schutz über ein Modul erstelle und dabei diese spezifische UserInterfaceOnly Anweisung erteile.
Also nochmal. Muss die Anweisung dort hin wo die Blätter aufgerufen werden oder muss sie einmal in den Schutzvorgang oder aber in den Schutzvorgang und dann in jeden Aufruf der Blätter per Makro?
Verstehst du was ich meine ?
Gruss,
Francois
Bild

Betrifft: UserInterfaceOnly nur in Schutzmakro erfordl - owT
von: Luc:-?
Geschrieben am: 22.04.2005 14:59:24

Bild

Betrifft: AW: UserInterfaceOnly nur in Schutzmakro erfordl - owT
von: Vliegen
Geschrieben am: 22.04.2005 19:10:44
Danke Luc
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Ext. Prg. öffnen / Funktion gesperrt"