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

Forumthread: farbige Zellen Sperren VBA

farbige Zellen Sperren VBA
06.09.2016 08:47:44
Moritz
Guten Morgen zusammen,
in meiner Excelliste gibt es zwei Farben, gelb und blau.
Alle gelben Zellen sollen einen Schreibschutz bekommen, und alle blauen Zellen dürfen beschrieben werden.
Gibt es da eine gute VBA Lösung dafür?
Vielen Dank für eure Hilfe!
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Eventuell einfach Blattschutz?
06.09.2016 08:54:19
Beverly
Hi,
entsperre die blauen Zellen und setze dann den Blattschutz.


AW: farbige Zellen Sperren VBA
06.09.2016 08:58:38
ChrisL
Hi Moritz
Sub t()
Dim rng As Range
With ActiveSheet
.Unprotect
.Cells.Locked = True
For Each rng In .UsedRange.Cells
If rng.Interior.Color = 15773696 Then _
rng.Locked = False
Next rng
.Protect
End With
End Sub

15773696 = Farbcode blau
Makrorekorder anwerfen und mal eine Zelle blau einfärben, dann bekommst du den exakten Farbcode.
cu
Chris
Anzeige
AW: farbige Zellen Sperren VBA
06.09.2016 10:29:48
Moritz
Hallo Chris,
vielen Dank für deine Antwort.
Wenn ich deinen Code verwende, zeigt er mir immer einen Laufzeitfehler an:
bei rng.locked=False
an was kann das liegen?
Vielen Dank für weitere Antworten
Grüße Moritz
AW: farbige Zellen Sperren VBA
06.09.2016 12:47:00
ChrisL
Hi Moritz
Kann ich nicht nachvollziehen.
Passwort kannst du ergänzen.
.Unprotect "Passwort"
.Protect "Passwort"
(anschliessend VBA Projekt schützen, sonst ist das PW für jedermann ersichtlich)
cu
Chris
Anzeige
AW: farbige Zellen Sperren VBA
06.09.2016 13:55:37
Moritz
Hallo Chris,
danke nochmal für deine Antwort.
ich hatte einen Tippfehler =)
Klappt jetzt wunderbar!
Vielen Dank und einen schönen Tag
Grüße Moritz
;
Anzeige
Anzeige

Infobox / Tutorial

Farbige Zellen in Excel sperren mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und wähle das Arbeitsblatt aus, in dem Du die Zellen sperren möchtest.
  2. Färbe die Zellen, die beschrieben werden dürfen, blau ein. Du kannst das mit der Füllfarbe im Menüband tun.
  3. Öffne den VBA-Editor, indem Du Alt + F11 drückst.
  4. Füge ein neues Modul ein:
    • Klicke im VBA-Editor auf "Einfügen" und wähle "Modul".
  5. Kopiere den folgenden VBA-Code in das Modul:
Sub t()
    Dim rng As Range
    With ActiveSheet
        .Unprotect
        .Cells.Locked = True
        For Each rng In .UsedRange.Cells
            If rng.Interior.Color = 15773696 Then _
                rng.Locked = False
        Next rng
        .Protect
    End With
End Sub
  1. Passe den Farbcode an, falls Du eine andere Farbe verwendest. Der Farbcode für blau ist 15773696.
  2. Führe das Makro aus: Drücke F5 oder gehe zurück zu Excel und führe das Makro über die Entwicklertools aus.
  3. Schütze das Blatt: Alle gelben Zellen bleiben gesperrt, während die blauen Zellen beschrieben werden können.

Häufige Fehler und Lösungen

  • Laufzeitfehler bei rng.Locked = False:

    • Überprüfe, ob Du den richtigen Farbcode für blau verwendet hast. Ein Tippfehler im Code kann ebenfalls zu Problemen führen.
    • Stelle sicher, dass das Arbeitsblatt nicht geschützt ist, bevor das Makro ausgeführt wird.
  • Das Makro funktioniert nicht:

    • Vergewissere Dich, dass Du das Makro aktiviert hast und die richtigen Berechtigungen im Excel-Layout vorgenommen wurden.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch die folgenden Schritte ausprobieren:

  1. Blattschutz aktivieren:
    • Gehe zu „Überprüfen“ > „Blatt schützen“ und wähle die Optionen, die Du erlauben möchtest.
  2. Bedingte Formatierung nutzen:
    • Markiere die Zellen und gehe zu „Start“ > „Bedingte Formatierung“, um Regeln zu erstellen, die die Zellen abhängig von ihrer Farbe formatieren.

Praktische Beispiele

  • Beispiel 1: Du hast eine Tabelle mit Prüfungen und möchtest, dass nur die Zellen für die „Ergebnisse“ (blau hinterlegt) bearbeitet werden können.
  • Beispiel 2: In einem Arbeitsblatt für den Monatsabschluss sollen nur die Zellen für „Notizen“ (blau hinterlegt) zugänglich sein, während alle anderen (gelb) gesperrt bleiben.

Tipps für Profis

  • Passwortschutz: Füge ein Passwort im VBA-Code hinzu, um unbefugten Zugriff auf Deine geschützten Zellen zu verhindern. Beispiel:
    .Unprotect "DeinPasswort"
    .Protect "DeinPasswort"
  • Makrorekorder verwenden: Nutze den Makrorekorder, um häufige Aktionen aufzuzeichnen und den entsprechenden VBA-Code zu erstellen.

FAQ: Häufige Fragen

1. Kann ich mehrere Farben sperren? Ja, Du kannst das Makro anpassen, um mehrere Farbwerte zu überprüfen und entsprechend zu handeln.

2. Was, wenn ich den Farbcode nicht kenne? Färbe eine Zelle in der gewünschten Farbe, öffne den VBA-Editor und verwende den folgenden Code, um den Farbcode zu ermitteln:

Debug.Print ActiveCell.Interior.Color

3. Welche Excel-Version wird benötigt? Die oben genannten Schritte und der VBA-Code funktionieren in Excel 2010 und späteren Versionen.

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