Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Auswählen gesperrter Zellen - VBA Code bei Blattschutz

Auswählen gesperrter Zellen - VBA Code bei Blattschutz
28.08.2024 13:59:53
Thorsten
Hallo zusammen,
ich brauch – mal - wieder Eure Hilfe.

Mit Hilfe eines VBA Codes habe ich verschiedene Tabellenblätter mit einem Passwort geschützt:

Sub ws_Protect(ParamArray Tabellenblaetter())
Dim ws
For Each ws In Tabellenblaetter
Worksheets(ws).Protect Password:="passwort", UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:= _
False, AllowSorting:=True, AllowFiltering:=True, AllowUsingPivotTables:= _
True
Worksheets(ws).EnableSelection = xlUnlockedCells
Next ws
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub

Klappt auch, aber mir sind jetzt allerdings 2 Dinge aufgefallen, die ich gerne ändern möchte:
1. bei den gesperrten Blättern kann ich jetzt nicht zwischen den Zellen „springen“. D.h. wenn ich den Schreibschutz manuell eingebe (als nicht über ein VBA Code), dann habe ich ja die Möglichkeit „Auswählen gesperrter Zellen“ zu aktivieren. Dies wird allerdings durch den VBA Code aufgehoben.
Gibt es ein VBA Code womit ich „Auswählen gesperrter Zellen“ wieder ermöglichen kann ?

2. in den gesperrten -Tabellenblättern habe ich auch verschiedene Zeilen „gruppiert“. Durch den VBA Blattschutz kommt jetzt allerdings immer wieder die Meldung „Dieser Befehl kann für ein geschütztes Blatt nicht verwendet werden …“. Wie kann ich die Gruppierung wieder aktivieren ?

Kann mir einer helfen ?
Danke
Thorsten
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswählen gesperrter Zellen - VBA Code bei Blattschutz
28.08.2024 15:13:07
Yal
Hallo Thorsten,

führe das Arbeitsblatt schützen inkl. gesperrte Zellen sind wählbar unrter laufenden Makrorekorder. So bekommst Du die notwendige Ergänzung für deinen Code, sodass diesen genau das macht.

Es wird so aussehen:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

VG
Yal
Anzeige
AW: Auswählen gesperrter Zellen - VBA Code bei Blattschutz
28.08.2024 16:35:37
Thorsten
Vielen Dank Yal für die Antwort.
Leider sind meine VBA Kenntnisse etwas bescheiden und deswegen habe ich mal folgenden Code versucht:

Private Sub Bewegung()
Call ws_Unprotect.ActiveSheet
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Call ws_Protect.Acvitvesheet
End Sub

Bin natürlich kläglich gescheitert. Aber vielleicht kannst Du mir helfen, wie der Code richtig aussehen sollte :-).
Vielen Dank im voraus
Thorsten
Anzeige
AW: Auswählen gesperrter Zellen - VBA Code bei Blattschutz
28.08.2024 18:05:23
Yal
Hallo Thorsten,

bevor Du zu lang versuchst, eigene Kreation funktionsfähig zu machen, würde ich empfehlen, so viel wie möglich mit dem Makrorekorder zu arbeiten. Mache ich selber nach 25j VBA immer noch. Immer nur kurze Sequenz aufnehmen, Code anschauen. So erkundest Du die Funktionsweise von VBA. Versuch den Code "auf Deutsch" zu lesen (idealerweise sogar laut sprechen, aber nicht in OpenSpace ;-). So kommst Du am schnellsten rein.

z.B. ein "Call" ist ein Aufruf von Funktion (Ist übrigens optional). Die Grammatik ist immer entweder nur Funktion oder Objekt.Funktion

Daher könnte es
ActiveSheet.Protect
oder
ActiveSheet.Unprotect

Dabei ist ActiveSheet das aktuell aktives Blatt und Protect/Unprotect die Aktion, die darauf wirken soll.
ws_protect.ActiveSheet ist auf alle Fälle nie. Egal ob ActiveSheet oder Acvitvesheet

Wenn ich zwischen die Zeilen die Intention deines Codes verstehen versuche, sollte ca. das Ergebnis so aussehen:
Private Sub Bewegung()

ActiveSheet.Unprotect 'Schutz des aktiven Blattes ausschalten
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'Schutz des aktiven Blattes mit Option einschalten
End Sub


VG
Yal
Anzeige
AW: Auswählen gesperrter Zellen - VBA Code bei Blattschutz
30.08.2024 18:57:59
Thorsten
Vielen Dank, Yal.
Und sorry für die verspätete Antwort, aber ich hab ein bisschen gebraucht, bis ich es in meinem Modell richtig eingebaut hatte.
Das mit den Gruppierungen funktioniert jetzt trotz des Arbeitsblattschutzes.

Was wäre denn der VBA Code, wenn ich die Bildlaufsperre in einem gesperrten Blatt deaktivieren will ?
Soll heiss, dass ich den Cursor bewegen und somit zwischen den Zellen „springen“ will und das obwohl der Blattschutz aktiviert ist.
(d.h. beim manuellen Schreibschutz mach ich dies ja durch die Aktivierung von "Auswählen gesperrter Zellen“, und in VBA ?)

Ich hab es mit ".EnableOutlining = True" versucht. klappt aber nicht.

Vielen Dank im voraus
Thorsten




Anzeige
AW: Auswählen gesperrter Zellen - VBA Code bei Blattschutz
02.09.2024 13:14:36
Yal
Hallo Thorsten,

gut, dass Du etwas probiert hast, aber Du hast noch nicht genug probiert.
Die Antwort deiner Frage kenne ich nicht, weil ich solchen sehr spezifischen VBA-Code mich nicht merke, weil ich weiss, dass ich diesen mithilfe des Makrorekorder jederzeit bekommen kann.

Also musste ich, um dir eine Antwort zu geben, jede einzelne Auswahl testen und es dir posten.
Ich halte es für sinnvoller, wenn Du diese Aktivität durchführst. Nicht zur Strafe, sondern zur Übung.

Es ist nur eine andere Version von dem vorigen "mache soviel wie möglich mit dem Makrorekorder".

VG
Yal
Anzeige
Probieren geht über Studieren.
03.09.2024 12:49:17
Thorsten
Deswegen habe ich die Lösung schon von alleine gefunden.
Danke.
AW: Auswählen gesperrter Zellen - VBA Code bei Blattschutz
28.08.2024 16:36:07
Thorsten
Vielen Dank Yal für die Antwort.
Leider sind meine VBA Kenntnisse etwas bescheiden und deswegen habe ich mal folgenden Code versucht:

Private Sub Bewegung()
Call ws_Unprotect.ActiveSheet
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Call ws_Protect.Acvitvesheet
End Sub

Bin natürlich kläglich gescheitert. Aber vielleicht kannst Du mir helfen, wie der Code richtig aussehen sollte :-).
Vielen Dank im voraus
Thorsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige