Supportnet / Forum / Tabellenkalkulation
Zelle vor manuellem Zugriff schützen, aber per VBA ändern lassen.
Frage
Halli Hallo Supporter,
ich hab mal wieder ein kleines Problem mit Excel (2k, aber auch 97): Ich will eine Zelle per VBA ändern, aber vor dem Zugriff der Benutzer schützen. Muss ich dazu die Tabelle entsperren, ändern und neu sperren, oder gibts dazu noch eine elegantere Lösung?
Über Hilfe würde ich mich freuen,
Risatara
Antwort 1 von fürLau
Hallo
Aus der der vba-Hilfe zum Thema Protect-Methode:
Gruß
Aus der der vba-Hilfe zum Thema Protect-Methode:
Zitat:
Ausdruck.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly)
UserInterfaceOnly Variant optional. Wenn True, wird die Benutzeroberfläche, jedoch keine Makros geschützt. Ohne Angabe dieses Arguments gilt der Schutz für Makros und die Benutzeroberfläche.
Anmerkungen
Wenn Sie die Protect-Methode mit dem auf True gesetzten UserInterfaceOnly-Argument bei einem Tabellenblatt anwenden und dann die Arbeitsmappe speichern, ist bei erneutem Öffnen der Arbeitsmappe das gesamte Tabellenblatt (und nicht nur die Oberfläche) geschützt. Um den Schutz des Tabellenblatts aufzuheben, die Benutzeroberfläche aber nach Öffnen der Arbeitsmappe weiter zu schützen, müssen Sie wieder die Protect -Methode mit dem auf True gesetzten UserInterfaceOnly anwenden.
Ausdruck.Protect(Password, DrawingObjects, Contents, Scenarios, UserInterfaceOnly)
UserInterfaceOnly Variant optional. Wenn True, wird die Benutzeroberfläche, jedoch keine Makros geschützt. Ohne Angabe dieses Arguments gilt der Schutz für Makros und die Benutzeroberfläche.
Anmerkungen
Wenn Sie die Protect-Methode mit dem auf True gesetzten UserInterfaceOnly-Argument bei einem Tabellenblatt anwenden und dann die Arbeitsmappe speichern, ist bei erneutem Öffnen der Arbeitsmappe das gesamte Tabellenblatt (und nicht nur die Oberfläche) geschützt. Um den Schutz des Tabellenblatts aufzuheben, die Benutzeroberfläche aber nach Öffnen der Arbeitsmappe weiter zu schützen, müssen Sie wieder die Protect -Methode mit dem auf True gesetzten UserInterfaceOnly anwenden.
Gruß
Antwort 2 von Risatara2
Cool, ich danke für die Hilfe, das ist genau das, was ich gebraucht habe.

