PDA

Vollständige Version anzeigen : bedingter Zellschutz


Kimba06
29.06.2015, 09:44
Hallo Excelgemeinde,
habe da mal wieder ein Problem zu dem ich leider nicht das Gewünschte im Netz finde. Ist es möglich für Zellen einen Schreibschutz (manuell) zu aktivieren, aber trotzdem ein Beschreiben via Script zuzulassen? Ich möchte damit verhindern, das die berechneten Werte aus einem Script vom User einfach überschrieben werden können. Für Eure Mühe schon jetzt besten Dank im voraus. Gruss Achim

RPP63neu
29.06.2015, 10:38
Hi!
Dafür gibt es den Parameter UserInterfaceOnly in der .Protect-Methode.
Da er nicht in der Datei gespeichert wird, musst Du ihn bei jedem Öffnen der Datei setzen.
Ins Modul DieseArbeitsmappe:
Private Sub Workbook_Open()
Tabelle1.Protect "DeinKennwort", UserInterfaceOnly:=True
End Sub
Gruß Ralf

Kimba06
29.06.2015, 11:00
Hallo Ralf,
leider funktioniert das nicht, es sei denn ich mache etwas falsch. Bei mir sieht die Zeile wie folgt aus:Material.Protect "", UserInterfaceOnly:=TrueIch bekomme die Fehlermeldung Laufzeitfehler 424, Objekt erforderlich! DeinKennwort habe ich wie Du siehst auf "" gesetzt, da ich kein Kennwort haben möchte.
Gruss Achim

RPP63neu
29.06.2015, 11:04
Hi!
Tabelle1 ist der CodeName.
Wenn bei Dir auf dem Tabellenregister Material steht, dann ist das der .Name
Will heißen:
Probiere mal Worksheets("Material").Protect

Es ist immer sinnvoller den CodeName der Tabelle zu nutzen (das ist der vor der Klammer im Projekt-Explorer), denn dann kannst Du die Tabellen-Bezeichnung ruhig über die Excel-Oberfläche ändern, ohne dass Dein Makro abschmiert.

Gruß Ralf

Kimba06
29.06.2015, 11:10
Hallo Ralf,
hab es probiert und Du hast natürlich recht. Klappt bei den ersten Tests wie gewollt. Danke noch mal für Deine Hilfe. Gruss Achim