Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblattschutz Protect UserInterfaceOnly

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

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblattschutz Protect UserInterfaceOnly
22.04.2005 12:36:25
Ramses
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
Anzeige
AW: Tabellenblattschutz Protect UserInterfaceOnly
22.04.2005 13:46:51
Vliegen
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
Anzeige
UserInterfaceOnly nur in Schutzmakro erfordl - owT
22.04.2005 14:59:24
Luc:-?
AW: UserInterfaceOnly nur in Schutzmakro erfordl - owT
22.04.2005 19:10:44
Vliegen
Danke Luc

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige