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

Forumthread: Hintergrundfarbe neutral?

Hintergrundfarbe neutral?
12.05.2004 13:47:20
Alexander
Hallo,
ich habe da so eine Schleife, die jede 2. Zeile in Excel grau einfärbt:
ActiveSheet.Cells(zeile_oben, 2).Interior.Color = RGB(200, 200, 200).
Nun möchte ich aber bei Aktivierung des Formulars alles wieder in den Ursprungszustand zurücksetzen.
Beim Formatieren kann man ja auf die Eigenschaft "Keine Füllung" für Zellhintergründe zurückgreifen. Wie würde das jedoch in VBA lauten?
ActiveSheet.Cells(zeile_oben, 2).Interior.Color = RGB(255, 255, 255), also ein weißer Hintergrund, ist damit nicht gemeint.
Und
ActiveSheet.Cells(zeile_oben, 2).Interior.Color = xlNone
funktioniert auch nicht. Die VBA-Hilfe führt leider auch nicht zum gewünschten Ergebnis...
Wer kann mir weiterhelfen?
Ist vielleicht mal wieder ganz, ganz einfach, doch möchte ich mich an dieser Stelle schonmal recht herzlich für die Hilfe bedanken.
Alexander Klein
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe neutral?
Kurt
ActiveSheet.Cells(zeile_oben, 2).Interior.Colorindex = xlNone
Kurt
AW: Hintergrundfarbe neutral?
12.05.2004 13:59:21
Alexander
DANKE, Kurt!
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Hintergrundfarbe in Excel VBA neutral setzen


Schritt-für-Schritt-Anleitung

Um die Hintergrundfarbe einer Zelle in Excel VBA auf "keine Füllung" zu setzen, kannst Du den ColorIndex verwenden. Hier ist eine einfache Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).

  3. Gib den folgenden Code ein:

    Sub HintergrundNeutralSetzen()
       Dim zeile_oben As Integer
       zeile_oben = 2 ' Beispielzeile, passe dies nach Bedarf an
    
       ' Setze die Hintergrundfarbe auf keine Füllung
       ActiveSheet.Cells(zeile_oben, 2).Interior.ColorIndex = xlNone
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Hintergrundfarbe zu ändern.


Häufige Fehler und Lösungen

  • Problem: xlNone funktioniert nicht.

    • Lösung: Stelle sicher, dass Du ColorIndex verwendest. Der korrekte Befehl ist ActiveSheet.Cells(zeile_oben, 2).Interior.ColorIndex = xlNone.
  • Problem: Die Zelle zeigt immer noch eine Farbe.

    • Lösung: Überprüfe, ob eine bedingte Formatierung auf die Zelle angewendet wurde, die die Hintergrundfarbe beeinflussen könnte.

Alternative Methoden

Eine weitere Möglichkeit, die Hintergrundfarbe auf neutral zu setzen, ist die Verwendung von RGB-Werten. Für einen weißen Hintergrund kannst Du den RGB-Wert 255, 255, 255 verwenden. Um eine neutrale Farbe zu erzielen, könntest Du auch ein neutrales Grau verwenden:

ActiveSheet.Cells(zeile_oben, 2).Interior.Color = RGB(200, 200, 200)

Praktische Beispiele

Hier sind einige Beispiele, wie Du die Hintergrundfarbe in verschiedenen Szenarien setzen kannst:

  1. Alle Zellen in einer Spalte auf keine Füllung setzen:

    Sub AlleZellenNeutralSetzen()
       Dim i As Integer
       For i = 1 To 10 ' Beispiel für 10 Zeilen
           ActiveSheet.Cells(i, 2).Interior.ColorIndex = xlNone
       Next i
    End Sub
  2. Bedingungen für die Füllfarbe anwenden:

    Sub BedingteFarbsetzung()
       Dim zeile_oben As Integer
       zeile_oben = 2
    
       If ActiveSheet.Cells(zeile_oben, 1).Value = "Neutral" Then
           ActiveSheet.Cells(zeile_oben, 2).Interior.ColorIndex = xlNone
       Else
           ActiveSheet.Cells(zeile_oben, 2).Interior.Color = RGB(255, 0, 0) ' Rot
       End If
    End Sub

Tipps für Profis

  • Nutze Interior.Color für spezifische RGB-Farben und Interior.ColorIndex für vordefinierte Farben.
  • Wenn Du mit verschiedenen Farbcodes arbeitest, verwende immer die RGB-Funktion, um präzise Farben zu definieren.
  • Vergiss nicht, Deine Makros zu testen, um sicherzustellen, dass die gewünschten Hintergrundfarben tatsächlich angewendet werden.

FAQ: Häufige Fragen

1. Wie setze ich eine Zelle auf eine spezifische Farbe?
Du kannst eine spezifische Farbe mit Interior.Color und der RGB-Funktion setzen, z.B.:

ActiveSheet.Cells(zeile_oben, 2).Interior.Color = RGB(255, 255, 255) ' Weiß

2. Was ist der Unterschied zwischen Color und ColorIndex?
Color verwendet RGB-Werte, um eine spezifische Farbe zu definieren, während ColorIndex auf eine vordefinierte Farbpalette verweist.

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