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

Forumthread: Zellfarbe per VBA löschen

Zellfarbe per VBA löschen
07.02.2017 06:28:53
Nordlicht43
Moin Moin,
gibt es eine Möglichkeit, dass ich nur die Zellfarbe per VBA löschen kann. Es sollen aber Schriftart, Rahmen usw. erhalten bleiben.
Danke und LG von hier unten
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zellfarbe per VBA löschen
07.02.2017 06:59:32
Gerd
Guten Morgen an "hier unten" :-)
Falls die Farbe ohne bedingte Formatierung rein kam.
Cells.Interior.ColorIndex = -4142
Gruß Gerd
AW: Zellfarbe per VBA löschen
07.02.2017 08:39:12
Nordlicht43
Moin Moin,
Danke für den Code. Aber mit diesem Code löscht er alle Zellfarben. Ich möchte aber nur die Blauen und die Grünen löschen gibt es da eine Zahl die ich ändern muss?
Anzeige
AW: Zellfarbe per VBA löschen
07.02.2017 09:56:49
Werner
Hallo,
dazu musst du wissen, welchem ColorIndex deine entsprechenden Zellfarben entsprechen.
Den ColorIndex kannst du dir z.B. so ausgeben lassen:
Sub auslesen()
MsgBox Range("A1").Interior.ColorIndex
End Sub
Dann kannst du die Farben so rausnehmen:
Sub Farbe_raus()
Dim rngBereich As Range
Dim rngZelle As Range
With Sheets("Tabelle1") 'Tabellenblatt anpassen
Set rngBereich = .Range("A1:A4") 'Bereich anpassen
End With
For Each rngZelle In rngBereich
If rngZelle.Interior.ColorIndex = 3 _
Or rngZelle.Interior.ColorIndex = 33 Then
rngZelle.Interior.ColorIndex = xlNone
End If
Next rngZelle
End Sub
Im Beispiel wird bei Rot und Blau die Zellfärbung entfernt.
Gruß Werner
Anzeige
AW: Zellfarbe per VBA löschen
07.02.2017 07:05:55
GraFri
Hallo
' Zelle B4
Cells(4, 2).Interior.ColorIndex = xlNone
' Bereich B2:D2
Range(Cells(2, 2), Cells(2, 4)).Interior.ColorIndex = xlNone
mfg, GraFri
Grüne Zellfarbe per VBA löschen
07.02.2017 10:01:43
Nordlicht43
Moin Moin,
lösche aus der gesamten Tabelle alle Grün markierten zellfarben mit vba wie kann ich das umsetzen? Hat jemand eine Idee für mich?
LG und Danke
Anzeige
AW: Grüne Zellfarbe per VBA löschen
07.02.2017 10:12:21
Werner
Hallo,
ich habe dir eine Möglichkeit aufgezeigt, du solltest vielleicht alle Beiträge lesen.
Gruß Werner
;
Anzeige
Anzeige

Infobox / Tutorial

Zellfarbe in Excel per VBA löschen


Schritt-für-Schritt-Anleitung

Um eine Zellfarbe in Excel per VBA zu löschen, kannst du den folgenden Code verwenden. Dieser entfernt die Hintergrundfarbe, während die Schriftart und die Rahmenlinien erhalten bleiben.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere und füge den folgenden Code ein:

    Sub ZellenfarbeLoeschen()
       Dim rngBereich As Range
       Dim rngZelle As Range
    
       With Sheets("Tabelle1") ' Tabellenblatt anpassen
           Set rngBereich = .Range("A1:A10") ' Bereich anpassen
       End With
    
       For Each rngZelle In rngBereich
           If rngZelle.Interior.ColorIndex = 3 Or rngZelle.Interior.ColorIndex = 33 Then ' Beispiel für Rot und Blau
               rngZelle.Interior.ColorIndex = xlNone ' Hintergrundfarbe löschen
           End If
       Next rngZelle
    End Sub
  4. Passe den Bereich und die ColorIndex-Werte an, um andere Farben zu löschen.

  5. Schließe den VBA-Editor und führe das Makro aus.


Häufige Fehler und Lösungen

  • Alle Zellfarben werden gelöscht: Stelle sicher, dass du die richtigen ColorIndex-Werte verwendest. Nutze den folgenden Code, um den ColorIndex einer Zelle zu testen:

    Sub AuslesenColorIndex()
       MsgBox Range("A1").Interior.ColorIndex
    End Sub
  • Makro funktioniert nicht: Überprüfe, ob die Makros in den Excel-Optionen aktiviert sind.

  • Zellenfarbe wird nicht gelöscht: Achte darauf, dass die Zellen nicht durch eine bedingte Formatierung gefärbt sind. In diesem Fall musst du die bedingte Formatierung zuerst entfernen.


Alternative Methoden

Du kannst auch die Farben über die Benutzeroberfläche löschen, indem du:

  1. Die Zelle oder den Zellbereich auswählst.
  2. Mit der rechten Maustaste klickst und "Zellen formatieren" wählst.
  3. Im Tab "Füllung" die Option "Keine Füllung" wählst.

Für eine schnelle Lösung kannst du auch den Shortcut ALT + H, H, N verwenden, um die Füllung zu entfernen.


Praktische Beispiele

  1. Löschen einer bestimmten Farbe:

    Wenn du nur die blauen Zellen in einem bestimmten Bereich löschen möchtest, ändere den ColorIndex entsprechend:

    If rngZelle.Interior.ColorIndex = 5 Then ' 5 ist der ColorIndex für Blau
       rngZelle.Interior.ColorIndex = xlNone
    End If
  2. Löschen aller Zellfarben in einem Bereich:

    Um alle Zellfarben in einem Bereich zu löschen, ohne die Schriftart zu beeinflussen:

    Range("A1:A10").Interior.ColorIndex = xlNone

Tipps für Profis

  • ColorIndex herausfinden: Nutze die MsgBox, um die verwendeten ColorIndex-Werte deiner Zellen herauszufinden.

  • Effiziente Schleifen: Verwende Application.ScreenUpdating = False, um das Flackern des Bildschirms zu verhindern, während das Makro läuft.

    Application.ScreenUpdating = False
    ' Dein Code hier
    Application.ScreenUpdating = True
  • Farbe zurücksetzen: Wenn du die Rahmenlinien zurücksetzen möchtest, kannst du das mit folgendem Code tun:

    rngZelle.Borders.LineStyle = xlNone

FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellfarben gleichzeitig löschen?
Du kannst mehrere If-Bedingungen in die Schleife einfügen oder eine Select Case-Anweisung verwenden.

2. Was ist der Unterschied zwischen xlNone und -4142?
Beide Optionen entfernen die Füllfarbe, wobei xlNone die bevorzugte Methode ist, die oft einfacher zu verstehen ist.

3. Kann ich den Code für eine ganze Tabelle anpassen?
Ja, du kannst den Bereich auf Cells setzen, um alle Zellen in einem Arbeitsblatt zu überprüfen:

Set rngBereich = Sheets("Tabelle1").Cells

4. Wie lösche ich die Zellfarbe nur aus einer bestimmten Zeile oder Spalte?
Setze den Bereich entsprechend, z.B. Range("1:1") für die gesamte erste Zeile oder Range("A:A") für die gesamte Spalte A.

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