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

Forumthread: Farbcode vba

Farbcode vba
02.05.2017 10:23:29
Se
Hallo,
ich habe eine Zelle mit Hintergrund hellgrau (Weiß - Hintergrund 1 Dunkler 5%).
Wenn nun eine bestimmte Bedingung erfüllt ist, soll sich die Schriftfarbe in der Zelle ebenfalls in hellgrau ändern - quasi dann unsichtbar werden.
Ansich kein Problem, leider finde ich nur Farbcodes mit 56 Farben, diese "Designfarbe" ist leider nicht dabei.
Also: If Range("B8").Value = 0 Then Range("A25").Font.ColorIndex = ?
Hat jemand eine Idee?
Vielen Danke schon mal im Voraus !!!
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbcode vba
02.05.2017 10:42:50
PeTeR
Hi Se Ma,
der Colorindex kennt nur 56 Farben. In deimen Fall lautet der Befehl:
If Range("B8").Value = 0 Then Range("A25").Font.ThemeColor = xlThemeColorDark1
Mit "Themecolor" greifst du auf die "Designfarben" zu. Kann man übrigens schnell mit dem Makrorekorder aufzeichnen ;-)
Viel Erfolg
PeTeR
Anzeige
AW: Farbcode vba
02.05.2017 10:46:59
Daniel
HI
mal ne blöde Frage, arbeitest du wirklich mit allen Excelversionen?
das Thema Farbe ist dann doch stark Versionsabhängig weil es da immer wieder Änderungen gegeben hat.
seit Excel 2007 kannst du den kompletten RGB-Farbraum frei nutzen.
der ColorIndex wird nur noch aus komptabilitätsgründen mitgeführt.
wenn du die Schriftfarbe gleich der Hintergrundfarbe setzen willst, dann würde ich die Hintergrundfarbe einfach abfragen, dann brauchst du den Code nicht anpassen, wenn sich die Farbe ändert:
 If Range("B8").Value = 0 Then Range("A25").Font.Color = Range("A25").Interior.Color

Wenn du den Text in A25 in Abhängigkeit von B8 ein- und ausblenden willst, dann würde das aber auch über die Bedingte Formatierung funktionieren.
Einfach für die Zelle A25 eine Bedingte Formatierung einrichten mit der Formel als Regel: =B8=0
Beim Format hast du dann zwei Möglichkeiten:
a) du wählst als Schriftfarbe die Hintergrundfarbe aus
b) du setzt das Zahlenformat ;;;
mit diesem Zahlenformat wird immer eine leere Zelle angezeigt, egal was drin steht.
das wäre dann auch wieder Farbunabhängig, funktioniert aber nicht in älteren Excelversionen.
Gruß Daniel
Anzeige
AW: Farbcode vba
02.05.2017 11:24:37
Se
Hi,
Mensch super...da sind ja absolute Vollprofis am werkeln - Tausend Dank.
Das mit der Excelversion... ich hab die 2016 und das kann man nicht auswählen....deswegen das Missverständnis.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Farbcode in Excel VBA richtig anwenden


Schritt-für-Schritt-Anleitung

  1. Zelle auswählen: Bestimme die Zelle, deren Schriftfarbe du ändern möchtest (z.B. A25).
  2. Bedingung festlegen: Definiere die Bedingung, unter der die Schriftfarbe geändert werden soll. In unserem Beispiel prüfen wir, ob der Wert in B8 gleich 0 ist.
  3. Farbcode implementieren: Verwende den folgenden VBA-Code, um die Schriftfarbe entsprechend der Bedingung zu ändern:

    If Range("B8").Value = 0 Then 
       Range("A25").Font.ThemeColor = xlThemeColorDark1
    End If

    Hierbei greifst du mit ThemeColor auf die Designfarben von Excel zu.


Häufige Fehler und Lösungen

  • Fehler: Ungültiger ColorIndex: Der ColorIndex kennt nur 56 Farben. Wenn du versuchst, eine nicht unterstützte Farbe zu verwenden, wird dieser Fehler auftreten. Verwende stattdessen ThemeColor.

  • Lösung: Nutze den folgenden Code, um sicherzustellen, dass die Schriftfarbe der Hintergrundfarbe entspricht:

    If Range("B8").Value = 0 Then 
       Range("A25").Font.Color = Range("A25").Interior.Color
    End If

Alternative Methoden

  • Bedingte Formatierung: Eine einfachere Methode zur Steuerung der Schriftfarbe ist die Verwendung der bedingten Formatierung. Gehe zu Start > Bedingte Formatierung > Neue Regel und wähle "Formel zur Bestimmung der zu formatierenden Zellen verwenden".

    Setze die Regel auf:

    =B8=0

    Wähle die Schriftfarbe, die der Hintergrundfarbe entspricht.

  • Verwendung von Zahlenformaten: Du kannst auch das Zahlenformat ;;; verwenden, um den Inhalt der Zelle auszublenden, unabhängig von der Schriftfarbe.


Praktische Beispiele

  • Beispiel 1: Wenn der Wert in B8 gleich 0 ist, wird die Schriftfarbe in A25 hellgrau:

    If Range("B8").Value = 0 Then 
       Range("A25").Font.Color = RGB(211, 211, 211) ' hellgrau
    End If
  • Beispiel 2: Verwende Excel 2016, um den vollen RGB-Farbraum zu nutzen:

    If Range("B8").Value = 0 Then 
       Range("A25").Font.Color = Range("A25").Interior.Color
    End If

Tipps für Profis

  • Nutze den Makrorekorder, um häufig verwendete Farbänderungen und Formatierungen schnell zu erfassen.
  • Experimentiere mit den Excel VBA Farbcodes und erstelle eine eigene VBA Farben Code Tabelle, um schnell auf deine bevorzugten Farben zugreifen zu können.
  • Beachte, dass die Verwendung von ThemeColor eine bessere Kompatibilität mit verschiedenen Excel-Versionen bietet.

FAQ: Häufige Fragen

1. Welche Excel-Versionen unterstützen die Verwendung von ThemeColor?
Die Verwendung von ThemeColor ist ab Excel 2007 verfügbar. Ältere Versionen unterstützen diese Funktion nicht.

2. Wie finde ich die richtigen Farbcodes für meine Excel-Arbeiten?
Du kannst die Excel VBA Farbcodes in einer Tabelle auflisten oder die Farbauswahl in den Excel-Designoptionen nutzen, um die passenden Codes zu finden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige