Tabellenblattschutz Protect UserInterfaceOnly
22.04.2005 12:30:59
Vliegen
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