Clever-Excel-Forum

Normale Version: Worksheet wird nicht gesperrt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Liebe Excel-Gemeinde

Ich habe folgenden Code, der beim Öffnen des Workbook ausgeführt wird. Klappt soweit bis auf den Teil Worksheets("Unterrichtsbesuch").Protect DrawingObjects:=False, Password:="Besuch" in BenutzerModus. Das entsprechende Worksheet wird einfach nicht gesperrt.
BenutzerModus steuere ich auch an anderen Orten an, wo der Code immer korrekt ausgeführt und auch das Worksheet gesperrt wird.

Hat jemand eine Idee, wo der Fehler liegen könnte? Hebt irgend ein Teil im Code das Ganze auf?

Vielen lieben Dank und Gruss
mauritius05

Code:
Private Sub Workbook_Open()
Call BenutzerModus
Tabelle3.Activate
Tabelle3.ScrollArea = "B1:B30"
Tabelle4.ScrollArea = "A1:B70"
Tabelle2.ScrollArea = "A1:B180"
Dim Frage
Frage = Application.Dialogs(xlDialogSaveAs).Show("UB_yyyy_mm_Nachname LP")
If Not Frage Then Me.Close False
End Sub
Code:
Sub BenutzerModus()

Sheets("Unterrichtsbesuch").Select
Range("B19").Select
Sheets("Wegleitung").Select
Range("A2").Select
Worksheets("Start").Protect Password:="Besuch"
Worksheets("Unterrichtsbesuch").Protect DrawingObjects:=False, Password:="Besuch"
Worksheets("Wegleitung").Protect Password:="Besuch"

End Sub
Hallo

im Zweifelsfalle den Code noch mal genau vergleichen. Dann wäre dir etwas aufgefallen!
In allen Sheets verwendest du Sheet().Protect, aber nicht bei "Unterrichtsbesuch"!
Da steht klar und deutlich "DraingObjects=False!  Nimm den Befehl bitte mal raus!

mfg Gast 123
Ja, das ist mir schon klar. Aber eben, an anderen Stellen verweise ich ebenfalls auf BenutzerModus und dort wird auch der Teil mit DrawingObjects... korrekt ausgeführt.
Wieso also wird Call BenutzerModus einmal korrekt ausgeführt und ein anderes Mal nicht? Ich verstehs nicht.
Hallo

Sorry, da muss ich passen, keine Idee dazu ....   Vielleicht weiss es ein Kollege?

mfg Gast 123
(07.02.2024, 16:59)mauritius5 schrieb: [ -> ]Ja, das ist mir schon klar.

Moin!
Warum setzt Du dann im Open ScrollAreas?
(die dürften sich doch nicht im workflow ändern?)
Was soll überhaupt das ganze Select-Gedöns?
Warum sollte im Open Blattschutz gesetzt werden?
Das macht man doch sinnvollerweise im Before_Close?

Ich weiß, viele Fragen …

Gruß Ralf
Doch, die Scroll Areas ändern teilweise.
Select-Gedönse aus dem Grunde, dass die User ihren Mauszeiger immer am korrekten Ort haben.
Was macht es denn für einen Unterschied, ob Blattschutz bei Open oder Close gesetzt wird? Auch wenn ich BenutzerModus bei Close setze, nimmt es mir den Teil zum Blattschutz bei "Unterrichtsbesuch" nicht. Die anderen beiden Sheets werden korrekt geschützt.
Hallo

letzte Idee von mir.  Ausser DrawingObjects gibt es noch - ProtectContents und ProtectSzenarios.
Musst du die nicht auf True setzen??  War so eine spontane Idee von mir, ohne Gewähr das es klappt.

mfg Gast 123
Wenn das Problem bei DrawingObjects liegen würde, würde es doch an anderen Orten, wo ich auf BenutzerModus verweise, nicht plötzlich gehen - oder?

Nach meinem Verständnis müsste also ein Teil von Folgendem den Teil BenutzerModus stören. Obwohl das auch nicht sein kann, weil der Rest von BenutzerModus korrekt abläuft. Ich kann mir echt keinen Reim draus machen.

Code:
Tabelle3.Activate
Tabelle3.ScrollArea = "B1:B30"
Tabelle4.ScrollArea = "A1:B70"
Tabelle2.ScrollArea = "A1:B180"
Dim Frage
Frage = Application.Dialogs(xlDialogSaveAs).Show("UB_yyyy_mm_Nachname LP")
If Not Frage Then Me.Close False
Hi,

wenn man dir wirklich helfen und nicht nur spekulieren soll, dann solltest du endlich nicht nur den Code, den du verdächtigst, vorstellen, sondern eine (abgespeckte) Beispieldatei, bei der der Fehler auftritt. Nur dann können auch andere außer dir versuchen das Problem zu debuggen.
Hallöchen,

also, Dein Makro Workbook_Open führt das Sub BenutzerModus() aus, und dort wird nur die eine Zeile nicht ausgeführt - der Rest schon - und es kommt keine Fehlermeldung?
Seiten: 1 2