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

In geschützte Zellen mit VBA schreiben

Forumthread: In geschützte Zellen mit VBA schreiben

In geschützte Zellen mit VBA schreiben
19.09.2006 20:02:23
Günnie
Ich möchte geschützte Zellen für manuelles Schreiben durch den Nutzer gesperrt lassen aber in solche Zellen mit VBA-Makros (und nur damit!) schreiben.
Hat jemand eine Idee, ob das überhaupt geht oder rührt das an den Grundfesten der Sicherheit?
Günnie
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In geschützte Zellen mit VBA schreiben
19.09.2006 20:55:30
Xelleron (Dennis)
Hallo Günnie,
ich würde folgendes machen: Schätze mal, daß die Makros einem Button zugeordnet sind, wenn ja dann so in der Form:

Private Sub CommandButton1_Click()
Sheets("Tabelle1").Unprotect "test" ' "Tabelle1" und "test" müßtest Du natürlich anpassen
'dein Makro
Sheet("Tabelle1").Protect "test"
End Sub

Gruß Dennis
Anzeige
AW: In geschützte Zellen mit VBA schreiben
21.09.2006 11:56:12
Günnie
Hi Dennis,
Danke für den Tip, hat geklappt. Manchmal sieht man eben den Wald vor lauter Bäumen nicht.
Gruß Günnie
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

In geschützte Zellen mit VBA schreiben


Schritt-für-Schritt-Anleitung

Um in geschützte Zellen mit VBA zu schreiben, kannst Du die folgenden Schritte befolgen:

  1. Öffne die Excel-Datei und gehe zu der Tabelle, in der Du die geschützten Zellen hast.

  2. Erstelle einen Button (z. B. ein CommandButton), den Du mit dem Makro verknüpfen möchtest.

  3. Öffne den VBA-Editor mit ALT + F11.

  4. Füge den folgenden Code in das Modul des Buttons ein:

    Private Sub CommandButton1_Click()
        Sheets("Tabelle1").Unprotect "test" ' "Tabelle1" und "test" anpassen
        ' Hier kommt dein Makro, das in die geschützte Zelle schreibt
        Sheets("Tabelle1").Protect "test"
    End Sub
  5. Passe den Code an, indem Du die Namen der Tabelle und das Passwort änderst.

  6. Teste den Button, um sicherzustellen, dass das Makro in die geschützte Zelle schreiben kann.


Häufige Fehler und Lösungen

  • Fehler: "Das Blatt ist geschützt."

    • Lösung: Stelle sicher, dass Du das Blatt mit dem richtigen Passwort entsperrst, bevor Du versuchst, in die Zellen zu schreiben.
  • Fehler: "Fehler beim Ausführen des Makros."

    • Lösung: Überprüfe, ob der VBA-Code korrekt eingegeben wurde und ob die richtigen Zellreferenzen verwendet werden.

Alternative Methoden

Falls Du keine Buttons verwenden möchtest, kannst Du auch ein Makro direkt ausführen, um geschützte Zellen zu bearbeiten. Hier ist ein einfaches Beispiel:

Sub SchreibeInGeschuetzteZelle()
    Sheets("Tabelle1").Unprotect "test"
    Sheets("Tabelle1").Range("A1").Value = "Neuer Wert" ' Zelle anpassen
    Sheets("Tabelle1").Protect "test"
End Sub

Du kannst dieses Makro über das Menü Entwicklertools oder durch ALT + F8 ausführen.


Praktische Beispiele

Angenommen, Du möchtest in die Zelle A1 einer geschützten Tabelle schreiben:

  1. Makro erstellen:

    Private Sub CommandButton1_Click()
        Sheets("Tabelle1").Unprotect "test"
        Sheets("Tabelle1").Range("A1").Value = "Hello World"
        Sheets("Tabelle1").Protect "test"
    End Sub
  2. Zelle A1 wird bei Button-Klick aktualisiert.


Tipps für Profis

  • Verwende Variablen: Du kannst die Tabellennamen und Passwörter in Variablen speichern, um den Code flexibler zu gestalten.

    Dim ws As Worksheet
    Dim pw As String
    
    Set ws = Sheets("Tabelle1")
    pw = "test"
    
    ws.Unprotect pw
    ws.Range("A1").Value = "Neuer Wert"
    ws.Protect pw
  • Fehlerbehandlung einbauen: Verwende On Error Resume Next und On Error GoTo 0, um Fehler besser zu handhaben.


FAQ: Häufige Fragen

1. Kann ich mehrere Zellen gleichzeitig aktualisieren? Ja, Du kannst eine Range angeben, z. B. Sheets("Tabelle1").Range("A1:B2").Value = "Neuer Wert".

2. Was passiert, wenn das Passwort falsch ist? Das Makro wird einen Fehler auslösen. Stelle sicher, dass das Passwort korrekt ist, bevor Du versuchst, die Zellen zu entsperren.

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