Excel-Blattschutz bei Steuerelementen?

Hallo,

ich habe eine Tabelle mit Steuerelementen, denen ich Makros zugewiesen habe. In der Tabelle sind einzelne Spalten mit komplizierten Formeln hinterlegt.

Nun würde ich gern die Spalten mit den Formeln für die Anwender sperren. Dies bekomme ich ja auch problemlos hin (über Schutz - Blatt schützen). Allerdings kommt dann eine Fehlermeldung wenn ich meine Makro-Schaltfläche anklicke: „Laufzeitfehler, dieser Befehl kann in einer geschützten Tabelle nicht verwendet werden…“

Gibt es eine Möglichkeit Bereiche für Benutzer zu sperren und trotzdem Steuerelemente mit Makros zu verwenden?

Vielen Dank und Gruß
Martin

Hallo Martin,

ja, dann mußt Du den Tabellenschutz per VBA rausnehmen, bevor das Makro ausgeführt wird. Füge folgenden Code vor dem Makro ein:

Sheets("TabelleName").Unprotect Password:="DeinPasswort"

Anschließend Tabellenschutz wieder aktivieren:

ActiveSheet.Protect \_
Password:="DeinPasswort", \_
DrawingObjects:=True, \_
Contents:=True, \_
Scenarios:=True, \_
userinterfaceonly:=False

Grüße,
Kerstin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Martin,

alternativ kannst du auch in deinen Makros den Schutz aufheben und wieder setzen. Hat den Vorteil, dass du per Makro dann auch Sachen ädnern kannst, die für den Anwender gschützt sind.

mfg

Dirk.Pegasus

Noch eine weiterführende Frage
Hallo,

der Code hat eigentlich sehr gut funktioniert. Anscheinend wird so beim automatischen Wiedereinsetzen des Blattschutzes die Funktion „Autofilter“ und „Sortieren“ nicht aktiviert.

D.h. dies sind Funktionen, die man beim manuellen Setzen des Blattschutzes selsbt aktivieren kann.

Könnte mir einer von euch noch einmal behilflich sein und den von Kerstin genannten Code noch entsprechend erweitern - leider bin ich selbst asboluter VBA-Laie.

Vielen Dank und Gruß
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe die Funktionen AllowFiltering und AllowSorting gefunden. Was den AutoFilter betrifft klappt es auch, aber wie stelle ich es am besten mit dem Sortieren an?

Damit dies funktioniert müssten ja alle Zellen im Sortierbereich kurzzeitig entsperrt werden, oder?

Konkret möchte ich die Funktionen des Autofilters, also z.B. bei aktiviertem Filter (z.B. Auswahl nach einem bestimmten Namen) die ausgewählte Liste z.B. aufsteigend nach Datum sortieren.

Da aber einzelne Spalten geschützt sind, da hier Formelnd drin sind, bei denen ich ein Überschreiben verhindern möchte, klappt die Sortierung nicht mehr.

Kann man verstehen, was ich meine. Falls nicht kann ich die Datei auch gern per Mail verschicken (sind allerdings schon 4MB).

Vielen Dank im Voraus und Gruß
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]