Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA & Blattschutz-xlunlockedcells setzen&behalten

Forumthread: VBA & Blattschutz-xlunlockedcells setzen&behalten

VBA & Blattschutz-xlunlockedcells setzen&behalten
06.09.2005 14:25:09
Christian
Hallo zusammen!
Ich habe folgendes Problem:
Ich muss ganz viele Blätter anschauen, evtl. ändern und dann schützen.
Das mache ich im Moment mit einem Makro und shortcut.
So, jetzt habe ich den Auftrag bekommen, die Option "gesperrte Zellen auswählen" rauszunehmen, heißt, der user darf nur noch die ungesperrten zellen "anspringen".
Mein Makro sieht so aus:

Sub blabal()
Range("A1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

Problem: wenn ich das mache, funktioniert es sehr gut. Dann speicher ich, schließe das File und öffne es wieder. Dann ist das Blatt zwar weiter geschützt, aber die Option "xlunlockedcells" hat er wieder vergessen, heisst man kann wieder alle Zellen anspringen.
Ich will das aber auf keinen Fall in jedes der Workbooks mit "openworkbook" schreiben, sondern dass das weiterhin mit shortcut funktioniert, auf dem Blatt das gerade aktive ist.
Vielen Vielen Dank für die Hilfe im voraus...
Gruß,
Christian
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA & Blattschutz-xlunlockedcells setzen&behalten
06.09.2005 14:57:48
Fred
Hi,
da xlUnlockedCells nicht gespeichert wird, bleibt dir gar nicht weiter übrig, als das in Workbook_Open zu erledigen.
mfg Fred
AW: VBA & Blattschutz-xlunlockedcells setzen&behal
06.09.2005 15:04:47
Christian
Hallo Fred,
herzlichen Dank für die schnelle Antwort.
Nur so: Das ist doch schon wieder schei... wenn ichs mit der Hand reinmache, bleibt´s drin, mit vba nicht. 8(
Manchmal fragt man sich bei den Leuten aus Redmond schon... ist ja erst Excelversion 12 oder so...
Egal, genug geärgert... ;)
Danke nochmal,
Christian
Anzeige
AW: VBA & Blattschutz-xlunlockedcells setzen&behal
08.09.2005 18:52:38
Christian
Eins habe ich noch festgestellt:
Wenn man das einmal händisch gesetzt hat, behält excel die einstellung auch wenn man beim nächsten mal per makro schützt.
Vielleicht hilfts ja einmal irgendwem ;))
;
Anzeige

Infobox / Tutorial

VBA Blattschutz mit xlUnlockedCells optimal nutzen


Schritt-für-Schritt-Anleitung

Um den Blattschutz in Excel so einzustellen, dass nur ungesperrte Zellen ausgewählt werden können, folge diesen Schritten:

  1. Öffne Excel und erstelle ein neues Makro.

  2. Füge den folgenden VBA-Code in das Modul ein:

    Sub blabal()
       Range("A1").Select
       ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
       ActiveSheet.EnableSelection = xlUnlockedCells
    End Sub
  3. Führe das Makro aus, um den Blattschutz zu aktivieren.

  4. Speichere die Excel-Datei und schließe sie.

  5. Öffne die Datei erneut, um zu testen, ob die Einstellung für EnableSelection erhalten bleibt.

Beachte, dass die Einstellung ActiveSheet.EnableSelection = xlUnlockedCells möglicherweise nicht gespeichert wird, wenn du das Blatt schließt.


Häufige Fehler und Lösungen

  • Problem: Nach dem Schließen und Öffnen der Datei ist die Option xlUnlockedCells nicht mehr aktiv.

    • Lösung: Setze den EnableSelection Befehl im Workbook_Open Ereignis. Füge folgenden Code in das ThisWorkbook Modul ein:
    Private Sub Workbook_Open()
        ActiveSheet.EnableSelection = xlUnlockedCells
    End Sub
  • Problem: Das Makro funktioniert nicht wie gewünscht.

    • Lösung: Stelle sicher, dass der Makroschutz in den Excel-Optionen aktiviert ist und dass du die richtige Arbeitsmappe ausgewählt hast.

Alternative Methoden

Eine alternative Methode zur Verwaltung des Blattschutzes ist die Nutzung von Excel-Formularen oder die direkte Anpassung über die Benutzeroberfläche. Du kannst auch die Einstellungen manuell setzen:

  1. Wähle das Blatt aus, das du schützen möchtest.
  2. Klicke auf „Überprüfen“ und dann auf „Blatt schützen“.
  3. Setze die gewünschten Optionen, darunter die Auswahl von nur ungesperrten Zellen.

Dies kann nützlich sein, wenn du keine VBA-Kenntnisse hast oder eine einfache Lösung benötigst.


Praktische Beispiele

Hier ist ein Beispiel, wie du den Blattschutz mit VBA effizient nutzen kannst:

Sub SchutzMitVBA()
    With ActiveSheet
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        .EnableSelection = xlUnlockedCells
    End With
End Sub

Verwende dieses Makro, um sicherzustellen, dass nur ungesperrte Zellen im aktiven Blatt ausgewählt werden können. Es ist wichtig, dass du die Einstellungen nach dem Schützen des Blattes überprüfst.


Tipps für Profis

  • Nutze die Workbook_Open Methode, um den EnableSelection Parameter zu speichern, da dies die Benutzererfahrung verbessert.
  • Kommentiere deinen Code, um die spätere Wartung zu erleichtern.
  • Experimentiere mit verschiedenen VBA-Einstellungen, um den Blattschutz zu optimieren und an deine Bedürfnisse anzupassen.

FAQ: Häufige Fragen

1. Warum wird ActiveSheet.EnableSelection nicht gespeichert? Die Einstellung EnableSelection wird nicht standardmäßig gespeichert, wenn das Blatt geschlossen wird. Du musst sie im Workbook_Open Ereignis erneut setzen.

2. Kann ich den Blattschutz auch ohne VBA aktivieren? Ja, du kannst den Blattschutz direkt über die Benutzeroberfläche aktivieren, aber die Anpassung für EnableSelection auf ungesperrte Zellen ist nur durch VBA möglich.

3. Welche Excel-Version benötige ich für diese Funktionen? Die beschriebenen Funktionen sind ab Excel 2007 verfügbar, jedoch ist es ratsam, die neueren Versionen zu verwenden, um alle aktuellen Features zu nutzen.

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