Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: eingefärbte Zellen "entfärben"

VBA: eingefärbte Zellen "entfärben"
16.04.2020 10:01:44
Axel
Hallo zusammen,
ich möchte in einer Arbeitsmappe bei farbig markierten Zellen die Farbe wieder entfernen und auf den Defaultwert zurücksetzen und hatte gehofft, dies mit dem folgenden Codeschnipsel zu bewerkstelligen:
For Each wks In Worksheets
If Cells.Interior.ColorIndex [Größerzeichen] 0 Then
Cells.Interior.xlColorIndexNone
End If
Next
Das Größerzeichen konnte ich hier nicht darstellen, deshalb ausgeschrieben.
Leider passiert da gar nichts. Die Einfärbung resultiert auch aus einem Makro, wo Zellen mit Kommentaren farblich hinterlegt werden:
.Cells.SpecialCells _
(xlCellTypeComments).Interior.ColorIndex = 6
Es wird keine bedingte Formatierung angewandt.
Ich hatte zuerst versucht, Zellen mit Kommentaren zu identifizieren und diese zu entfärben:
With ws1
.Cells.SpecialCells _
(xlCellTypeComments).Interior.xlColorIndexNone
End With
Das hat aber nicht funktioniert.
Leider sind meine VBA-Kenntnisse noch deutlich ausbaufähig. Ich arbeite daran.
Hier bitte ich um fachkundige Unterstützung, wie ich das korrekt codieren muss, um eingefärbte Zellen wieder zu entfärben.
Vielen Dank vorab und beste Grüße
Axel
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: eingefärbte Zellen "entfärben"
16.04.2020 10:07:40
Hajo_Zi
Hallo Axcel,
prüfe ob das Makro zum Färben gestartet wird im neuewn Makro.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Das ist nur meine Meinung zu dem Thema.
Gruß Hajo
Anzeige
AW: VBA: eingefärbte Zellen "entfärben"
16.04.2020 10:10:16
hary
Moin
Du must die Codezeile anders aufbauen.
With ws1
.Cells.SpecialCells(xlCellTypeComments).Interior.Color = xlNone
End With

gruss hary
AW: VBA: eingefärbte Zellen "entfärben"
16.04.2020 10:18:33
Daniel
Hi
Der ColorIndex für "keine Farbe" ist -4142 bzw als Systemkonstante xlNone.
Du musst diesen Wert genauso zuweisen wie jeden anderen Colorindex auch, es gibt keinen speziellen Rücksetzbefehl (mein Tip: statt Code zu "raten", benutze lieber den Makrorecorder):
Cells.Interior.ColorIndex = xlNone
Noch ein Fehler: wenn du den vorhandenen ColorIndex ermitteln willst, solltest du immer nur eine Zelle abfragen.
Fragst du ihn für einen größeren Zellbereiche ab und es liegen mehrere unterschiedliche Werte vor, ist das Ergebnis Unsinn.
Dh. wenn du die Farbe für alle Zellen zurücksetzen willst, lass die Abfrage einfach weg.
Willst du nur für bestimmte Zellen den ColorIndex zurücksetzen, dann brauchst du noch ne Schleife über die einzelnen Zellen des Blattes.
Gruß Daniel
Anzeige
AW: VBA: eingefärbte Zellen "entfärben"
16.04.2020 11:56:31
Axel
Hi Daniel,
danke für die Hinweise.
mit Cells.Interior.ColorIndex = xlNone
hat es auch nicht funktioniert.
Mit dem Makrorecorder kam folgendes raus:
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Und nu?
Danke und Gruß
Axel
Anzeige
AW: VBA: eingefärbte Zellen "entfärben"
16.04.2020 13:41:00
Daniel
komisch.
bei mir geht's so (Excel 2010)
Hast du auch das richtige Tabellenblatt referenziert?
Ansonsten solltest du das "funktioniert nicht" präziser beschreiben.
gruß Daniel
AW: VBA: eingefärbte Zellen "entfärben"
16.04.2020 11:48:45
Axel
Hallo zusammen,
danke für die Hinweise.
Hier ist eine Beispieldatei, wo das Makro schon ein mal ausgeführt wurde:
https://www.herber.de/bbs/user/136780.xlsm
Ich will nur sicherheitshalber vor Kommentierung und Neueinfärbung eine Schleife drehen, eventuelle Farben und Kommentare zu löschen.
Ich krieg aber mit der Ansprache der Kommentierten Zellen jeweils nur eins von beiden hin, entweder lösche ich die Kommentare oder die Farbe.
Die Lösung wäre mE, die Kommentare zu löschen wie es aktuell auch im Code steht und alle farbigen Zellen auf den Wert zu setzen, den Daniel geschrieben hat. Aber ich bin offen für eure Vorschläge.
Vielen Dank und beste Grüße
Axel
Anzeige
und warum machst Du es dann nicht ?
16.04.2020 11:56:53
Matthias

Option Explicit
Sub weg_damit()
With Cells
.Interior.Color = xlNone
.ClearComments
End With
End Sub

AW: und warum machst Du es dann nicht ?
16.04.2020 12:27:26
Axel
Matthias,
funktioniert einwandfrei.
Hab es wohl so gemacht:
With ws1.Cells
.Interior.Color = xlNone
.ClearComments
End With
Jetzt sieht es ganz einfach aus, wo man weiß, wie es geht...
Danke an alle für die Unterstützung!
Gruß
Axel
Anzeige
;

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
Anzeige

Infobox / Tutorial

VBA: Eingefärbte Zellen Entfernen und Auf Standard Zurücksetzen


Schritt-für-Schritt-Anleitung

Um eingefärbte Zellen in einer Excel-Arbeitsmappe mit VBA zu entfernen und die Farbe auf den Standardwert zurückzusetzen, kannst du den folgenden VBA-Code verwenden:

Option Explicit
Sub Entfaerben()
    Dim ws1 As Worksheet
    Set ws1 = ThisWorkbook.Sheets(1) ' Das erste Tabellenblatt auswählen

    With ws1.Cells
        .Interior.Color = xlNone ' Entferne die Hintergrundfarbe
        .ClearComments ' Lösche alle Kommentare in den Zellen
    End With
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeineArbeitsmappe)“ > „Einfügen“ > „Modul“.
  3. Kopiere den obigen Code in das Modul.
  4. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und „Entfaerben“ auswählst.

Häufige Fehler und Lösungen

  • Fehler: Es passiert nichts beim Ausführen des Codes.

    • Stelle sicher, dass du das richtige Arbeitsblatt referenziert hast. Der Code sollte auf das Arbeitsblatt angewendet werden, das die eingefärbten Zellen enthält.
  • Fehler: Der ColorIndex wird nicht zurückgesetzt.

    • Der ColorIndex für „keine Farbe“ ist xlNone oder -4142. Achte darauf, dass du diesen Wert korrekt verwendest.

Alternative Methoden

Falls du eine andere Methode bevorzugst, kannst du auch den Makrorekorder nutzen, um die Schritte aufzuzeichnen, die du in Excel durchführst. Dadurch erhältst du den entsprechenden VBA-Code:

  1. Klicke auf „Entwicklertools“ > „Makro aufzeichnen“.
  2. Führe die Schritte aus, um die Zellen zu entfärben oder Kommentare zu entfernen.
  3. Stoppe die Aufzeichnung und überprüfe den generierten Code im VBA-Editor.

Praktische Beispiele

Hier sind einige zusätzliche Beispiele, um eingefärbte Zellen zu entfernen:

Sub EntferneFarbeMitBedingung()
    Dim zelle As Range
    For Each zelle In ThisWorkbook.Sheets(1).UsedRange
        If zelle.Interior.ColorIndex <> xlNone Then
            zelle.Interior.ColorIndex = xlNone
        End If
    Next zelle
End Sub

In diesem Beispiel wird jede Zelle im verwendeten Bereich des ersten Tabellenblatts überprüft, und wenn eine Zelle eine Farbe hat, wird sie entfernt.


Tipps für Profis

  • Verwende Option Explicit: Dies hilft dir, Fehler zu vermeiden, indem es sicherstellt, dass alle Variablen deklariert sind.
  • Nutze SpecialCells: Wenn du nur Zellen mit Kommentaren oder speziellen Eigenschaften ansprechen möchtest, kann SpecialCells sehr nützlich sein.
  • Teste im VBA-Editor: Bevor du den Code in deiner Hauptarbeitsmappe ausführst, teste ihn in einer Kopie, um unerwünschte Änderungen zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich nur bestimmte Zellen entfärben? Du kannst eine Schleife verwenden, um nur die gewünschten Zellen anzusprechen, indem du spezifische Bereiche definierst.

2. Warum funktioniert der Code bei mir nicht? Überprüfe, ob das richtige Arbeitsblatt referenziert wird und ob die Zellen tatsächlich eingefärbt sind. Achte auch darauf, dass der Code keine Fehler enthält und dass du die richtigen Excel-Versionen verwendest (z.B. Excel 2010 oder neuer).

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