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

Backcolor in interior.colorindex "übersetzen"

Forumthread: Backcolor in interior.colorindex "übersetzen"

Backcolor in interior.colorindex "übersetzen"
26.10.2002 12:50:51
Jens Huthmann
Liebe Excelianer,

ich möchte die Hintergrundfarbe eines Optionbuttons (Backcolor-Eigenschaft) dazu benutzen, dass die Farbe des gewählten Optionbuttons für die Farbgestaltung von Zellen verwendet wird. Problem: Die Backcolor-Eigenschaft von VBA-Steuerelementen ist als Ganzzahl oder im RGB-Modus angegeben (hellrot=8421631), die Hintergrundfarbe von Zellen als Indexwert(hellrot=38). Wie übersetze ich die Farben von einem Schema in das andere?

Danke für Eure Hilfe!
Jens Huthmann

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Backcolor in interior.colorindex "übersetzen"
26.10.2002 12:53:01
Hajo_Zi
Hallo Jens

da habe ich leider auch keinen Ansatz. Hier mal einige Farben
Schwarz=(0, 0, 0)
Blau=(0, 0, 255)
Grün=(0, 255, 0)
Cyan=(0, 255, 255)
Rot=(255, 0, 0)
Magenta=(255, 0, 255)
Gelb=(255, 255, 0)
Weiß=(255, 255, 255)
Oder eine dieser Abkürzungen
(VbBlack, VbBlue, VbCyan, VbGreen, VbMagenta, VbRed, VbWhite und VbYellow)
von Ulrich Schneider

Gruß Hajo

Anzeige
übersetzen mit Farbtabelle?
26.10.2002 13:22:46
andre
Hallo Jens,

mein erster Gedanke ist auch in der Richtung wie Hajo schreibt. Also mal eine Farbtabelle gestalten wo Du die Konvertierung dann festlegen kannst - z.B. a1=8421631 / b1=38 usw. usf.

gruss andre

Re: Backcolor in interior.colorindex "übersetzen"
26.10.2002 13:50:27
Boris
Hallo Jens,

schau dir mal diesen Thread an. Hat mit RGB-Farben zu tun.
Kenn mich damit zwar nicht so aus, aber mit der Lösung von Nepumuk war die Fragestellerin wohl sehr zufrieden.
Könnte vielleicht ein Ansatz sein.

https://www.herber.de/forum/messages/173285.html

Gruß Boris

Anzeige
Re: Backcolor in interior.colorindex "übersetzen"
26.10.2002 15:07:28
Nepumuk
Hallo Jens
du kannst die RGB-Farbe genauso benutzen. Aber nicht als Colorindex, sondern als Color.
Beispiel
Cells(1,1).Interior.Color=8421631
Gruß
Nepumuk
Re: Backcolor in interior.colorindex "übersetzen"
26.10.2002 16:37:53
Jens Huthmann
Danke Nepumuk,
das war genau das, was ich gesucht habe.

Jens

Re: Backcolor in interior.colorindex "übersetzen"
26.10.2002 17:02:50
Hajo_Zi
Hallo Jens

der Beitrag von Nepumij ist Klasse. Auf der Grundlage von dem Makro habe ich mal folgende Lösung. Die Du in einem leeren Tabellen blatt ausführen kannst. ZuerstListe Farbe und dann das andere und Du hast eine komplette Übersicht über Farbindex und RGB Farben

Gruß Hajo

Anzeige
Re: Backcolor in interior.colorindex "übersetzen"
26.10.2002 18:38:45
Hajo_Zi
Hallo Jens

und danach noch folgendes Makro laufen lassen. Dann hast Du auch noch die Farbnamen. Natürlich nur für die Standardfarben

Gruß Hajo

Re: Backcolor in interior.colorindex "übersetzen"
26.10.2002 19:35:25
Jens Huthmann
Vielen Dank für die vielen hilfreichen Beispiele. Danke Hajo für den code. Hilft mir super viel weiter!(c;=

Gruß Jens

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Hintergrundfarbe in Excel VBA effektiv nutzen


Schritt-für-Schritt-Anleitung

Um die Hintergrundfarbe eines Optionbuttons in VBA zu nutzen und diese in die Interior.ColorIndex-Eigenschaft einer Zelle zu übertragen, folge diesen Schritten:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul erstellen: Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Code einfügen: Füge den folgenden Code in das Modul ein, um die Farbcodes zu übersetzen:

    Sub SetCellColor()
       Dim optionButtonColor As Long
       optionButtonColor = 8421631 ' Beispiel für hellrot
    
       ' Setze die Hintergrundfarbe einer Zelle
       Cells(1, 1).Interior.Color = optionButtonColor
    End Sub
  4. Makro ausführen: Schließe den VBA-Editor und führe das Makro aus, um die Farbe zu setzen.


Häufige Fehler und Lösungen

  • Fehler: "Typen nicht kompatibel"

    • Lösung: Stelle sicher, dass du die richtige Eigenschaft Interior.Color verwendest, nicht Interior.ColorIndex.
  • Fehler: Zelle wird nicht gefärbt

    • Lösung: Überprüfe den Farbcodes, die du verwendest. Verwende die vba backcolor farbcodes korrekt.

Alternative Methoden

Wenn du nicht nur die Interior.Color, sondern auch die Interior.ColorIndex verwenden möchtest, kannst du eine Farbtabelle erstellen:

  1. Erstelle eine Tabelle in Excel, in der du die RGB-Werte und die entsprechenden ColorIndex-Werte auflistest.
  2. Nutze die folgende Formel, um die Farbzuordnung zu automatisieren:

    Function GetColorIndex(rgbValue As Long) As Integer
       Dim index As Integer
       index = -1 ' Standardwert, wenn kein Index gefunden wird
       ' Füge hier die Logik zur Zuordnung hinzu
    
       GetColorIndex = index
    End Function

Praktische Beispiele

Hier sind einige Beispiele, die dir helfen können, den Umgang mit VBA Backcolor und ColorIndex besser zu verstehen:

  1. Farbzuweisung mit ColorIndex:

    Cells(1, 2).Interior.ColorIndex = 38 ' Setze hellrot
  2. Farbzuweisung mit RGB:

    Cells(1, 3).Interior.Color = RGB(255, 0, 0) ' Setze auch hellrot

Tipps für Profis

  • Nutze die ColorIndex-Tabelle in Excel, um die verfügbaren Farbcodes schnell zu finden. Eine Excel ColorIndex Tabelle kann dir helfen, die richtigen Indizes zu finden.
  • Wenn du oft mit VBA Farbcodes arbeitest, erstelle eine eigene access backcolor farbtabelle, um die Farben schneller zu übersetzen.
  • Experimentiere mit den vba backcolor codes, um verschiedene visuelle Effekte zu erzielen.

FAQ: Häufige Fragen

1. Wie finde ich die Farbcodes für meine Excel-Version? Du kannst die Excel Farbtabelle nutzen, um die benötigten RGB- oder ColorIndex-Werte zu finden.

2. Kann ich benutzerdefinierte Farben in Excel VBA verwenden? Ja, du kannst beliebige RGB-Werte verwenden, um benutzerdefinierte Farben für die Hintergrundfarbe einer Zelle oder eines Steuerelements zu setzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige