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

selection.locked=false

Forumthread: selection.locked=false

selection.locked=false
30.12.2002 12:50:59
Holger
Hallo Forum,

habe mal einen Makro aufgezeichnet. Dort habe ich alle Zellen geschützt und mit einem Passort versehen. Wenn ich jetzt das Programm aufrufe soll wenn man Makros deaktiviert alle zellen geschützt werden. Dies habe ich gemacht und ein Kennwort vergeben. Wenn ich jetzt makros aktiviere und unter dem sub workbook_open selection.locked=false eingebe kommt er auf Fehler weil ihm das Passort fehlt. Wie kann ich dieses bei diesem Befehl einbauen?

Gruss
Holger

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: selection.locked=false
30.12.2002 12:57:31
Hajo
Hallo Holger

meinst Du
Sheets(I).Unprotect ("Passwort")

Sheets(I).Protect ("Passwort")


Gruß Hajo

Re: selection.locked=false
30.12.2002 12:58:07
andre
hallo holger,
siehe auch die excel-hilfe,
... password:="geheim"
gruss andre
Re: selection.locked=false
30.12.2002 13:11:27
Holger
Hallo Hajo,

damit entschütze ich doch das tabellenblatt oder? das habe ich. Frage wie geht dass, das ich eine Zelle dann wieder schütze in der eine formel steht? Ich glaube ich habe mich etwas ungeschickt ausgedrückt. Sorry...
Hier mal der code:
Private Sub workbook_open()
ActiveWorkbook.Unprotect ("Holger") 'Arbeitsmappe entschützen
Sheets("NamederMaske").Unprotect ("Holger")'Tabellenblatt entschützen
Range("G1").Select
Selection.Locked = True

Anzeige
Re: selection.locked=false
30.12.2002 13:16:00
Hajo
Hallo Holger

Oder habe ich da was Falsch verstanden.

Gruß Hajo

Re: selection.locked=false
30.12.2002 13:40:20
Holger
Hallo Hajo,

habe jetzt dran rumprobiert. Leider ist jetzt alles wieder gesperrt und nicht nur die eine zelle g1. Kannst du mir sagen an was es liegt, weil der code ist ja genau gleich...

Private Sub workbook_open()
ActiveWorkbook.Unprotect ("Holger") 'Arbeitsmappe entschützen
Sheets("NamederMaske").Unprotect ("Holger")
Range("G1").Locked = True
Sheets("NamederMaske").Protect ("Holger")
ActiveWorkbook.Protect ("Holger")
End Sub

Anzeige
Re: selection.locked=false
30.12.2002 13:44:42
Georg_zi
Hallo Holger

mit Range("G1").Locked = True sperrst Du die Zelle G1.

Vielleicht solltest Du mal schreiben was Du erreichen willst.

Gruß Georg

;
Anzeige

Infobox / Tutorial

Auswahl von gesperrten Zellen in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA mit gesperrten Zellen zu arbeiten, solltest Du folgende Schritte befolgen:

  1. Arbeitsmappe und Blatt entschützen:

    ActiveWorkbook.Unprotect ("DeinPasswort")
    Sheets("NamederMaske").Unprotect ("DeinPasswort")
  2. Zellen sperren oder entsperren: Um eine Zelle zu sperren, verwende:

    Range("G1").Locked = True

    Um eine Zelle zu entsperren, setze:

    Range("G1").Locked = False
  3. Blatt und Arbeitsmappe wieder schützen:

    Sheets("NamederMaske").Protect ("DeinPasswort")
    ActiveWorkbook.Protect ("DeinPasswort")
  4. Makro ausführen: Stelle sicher, dass Du das Makro korrekt aufrufst. Es kann sinnvoll sein, dies im Workbook_Open()-Ereignis zu platzieren.


Häufige Fehler und Lösungen

  • Fehler bei Selection.Locked = False: Dieser Fehler tritt auf, wenn das Arbeitsblatt oder die Zelle, die Du zu entsperren versuchst, bereits gesperrt ist. Du musst zuerst das Blatt entschützen.

  • Alle Zellen sind gesperrt: Wenn Du mit dem Befehl Range("G1").Locked = True arbeitest, stelle sicher, dass Du das Blatt vorher entsperrt hast und nur die gewünschten Zellen sperrst.

  • Passwort vergessen: Wenn Du das Passwort für das Blattschutz vergessen hast, gibt es keine einfache Möglichkeit, darauf zuzugreifen. Überlege Dir, ein neues Passwort zu setzen oder eine Sicherungskopie der Datei zu verwenden.


Alternative Methoden

  • Schutz über das Excel-Menü: Du kannst auch direkt im Excel-Menü den Blattschutz aktivieren, ohne VBA zu verwenden. Gehe zu "Überprüfen" und wähle "Blatt schützen".

  • Anwendung von Bedingungen: Du kannst den Schutz auch dynamisch gestalten, indem Du Bedingungen nutzt, z.B. nur bestimmte Zellen in Abhängigkeit von anderen Zellen zu schützen oder zu entsperren.


Praktische Beispiele

Hier sind einige Anwendungsbeispiele:

  1. Sperren einer Zelle mit einer Formel:

    Private Sub Workbook_Open()
       ActiveWorkbook.Unprotect ("DeinPasswort")
       Sheets("NamederMaske").Unprotect ("DeinPasswort")
       Range("G1").Locked = True ' Formelzelle sperren
       Sheets("NamederMaske").Protect ("DeinPasswort")
       ActiveWorkbook.Protect ("DeinPasswort")
    End Sub
  2. Entsperren einer Zelle bei bestimmten Bedingungen:

    If Range("A1").Value = "Aktiv" Then
       Range("G1").Locked = False
    End If

Tipps für Profis

  • Verwendung von Variablen: Nutze Variablen für Passwörter, um Deinen Code sicherer und flexibler zu gestalten.

  • Fehlerbehandlung: Implementiere Fehlerbehandlung in Deinem VBA-Code, um unerwartete Probleme zu lösen, z.B.:

    On Error Resume Next
  • Dokumentation: Halte Deinen Code gut dokumentiert, um später leichter Änderungen vornehmen zu können.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen gleichzeitig sperren?
Um mehrere Zellen zu sperren, kannst Du den Bereich angeben:

Range("A1:B10").Locked = True

2. Was passiert, wenn ich Selection.Locked benutze?
Wenn Selection.Locked verwendet wird, wird der Status der aktuell ausgewählten Zellen geändert. Wenn die Zellen gesperrt sind, wird die Eingabe in diesen Zellen verhindert.

3. Kann ich den Blattschutz vorübergehend aufheben?
Ja, Du kannst den Blattschutz mit Unprotect aufheben und danach mit Protect wieder aktivieren. Achte darauf, das richtige Passwort zu verwenden.

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