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

Forumthread: Hintergrundfarbe aus Zelle auslesen

Hintergrundfarbe aus Zelle auslesen
18.03.2018 23:48:53
Kailash
Hallo Excel Freunde!
Möchte mit einem Makro die Hintergrundfarbe einer Zelle auslesen und auf andere Zellen übertragen. Diese Zellen sind in (farbigen) intelligenten Tabellen (listobject).
Funktioniert auch super.
ABER:
Wenn keine Hintergrundfarbe in der Ausgangszelle vorhanden ist, dann werden die Zielzellen weiss gefärbt (das weiss ist sichtbar weil es ja in einer farbigen intelligenten Tabelle ist). Warum? Wie macht man das sonst? Wenn ne Farbe in der Ausgangszelle vorhanden ist soll sie übernommen werden, wenn keine da ist, dann soll die Hintergrundfarbe halt keine sein (colorindex xlnone) und nicht weiss.
.Range("AG" & ColorApplierCounter & ": AH" & ColorApplierCounter).Interior.Color = Options.Cells(ColorPickerCounter, 4).Interior.Color
Viele Grüsse
Kailash
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe aus Zelle auslesen
19.03.2018 00:40:10
Oisse
Hallo,
versuchs doch mal mit einer If Abfrage.
In etwa so:

If Options.Cells(ColorPickerCounter, 4).Interior.Color = 2 Then
.Range("AG" & ColorApplierCounter & ": AH" & ColorApplierCounter).Interior.Pattern = xlNone
End if

AW: Hintergrundfarbe aus Zelle auslesen
19.03.2018 00:51:54
Kailash
Hallo Oisse!
ja, so ähnlich habe ich das schon gemacht. Weil ich mir dachte: "in der Not frisst der Teufel Fliegen"
Nun wollte ich es aber gerne doch richtig lernen.
Aber wenn du das mit der If Abfrage schreibst, dann ist es wohl die gängige Methode!?
Ich dachte es wäre nur ein dummes Workaround von mir.
Oder hat jemand vielleicht einen besseren Vorschlag?
Viele Grüsse
Kailash
Anzeige
AW: Hintergrundfarbe aus Zelle auslesen
19.03.2018 08:37:54
Oisse
Hallo Kailash,
ich bin selber nicht der vba-Experte und selber noch am lernen.
Aber ich denke mir, wenn es hilft und der Zweck erreicht wird, ist es doch gut, oder?
Wichtig ist doch dann das Ergebnis. Das sieht man. Den Code dahinter wird später wohl keiner mehr anschauen.
Herzlichen Gruß
Oisse
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Hintergrundfarbe aus Zelle auslesen in Excel


Schritt-für-Schritt-Anleitung

Um die Hintergrundfarbe einer Zelle in Excel auszulesen, gibt es verschiedene Ansätze. Hier ist eine einfache Schritt-für-Schritt-Anleitung, die sowohl VBA als auch Formeln berücksichtigt.

  1. Excel öffnen: Starte Excel und öffne die Arbeitsmappe, in der du die Hintergrundfarbe auslesen möchtest.

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

  3. Neues Modul erstellen: Klicke im Projektfenster mit der rechten Maustaste auf "VBAProject (DeinDateiname)" und wähle "Einfügen" > "Modul".

  4. VBA-Code einfügen: Füge den folgenden Code in das Modul ein, um die Hintergrundfarbe auszulesen:

    Function GetCellColor(cell As Range) As Long
       GetCellColor = cell.Interior.Color
    End Function
  5. Funktion anwenden: Kehre zu deiner Excel-Tabelle zurück und verwende die Funktion in einer Zelle, um die Farbe auszulesen, z.B. =GetCellColor(A1).


Häufige Fehler und Lösungen

  • Problem: Die Zelle bleibt weiß, obwohl eine Farbe vorhanden ist.

    • Lösung: Stelle sicher, dass du die richtige Zelle referenzierst und dass die Zelle eine Hintergrundfarbe hat. Ansonsten gibt die Funktion den Farbcode für Weiß zurück.
  • Problem: Fehler beim Ausführen des Codes.

    • Lösung: Überprüfe, ob der VBA-Code korrekt eingegeben wurde und dass du den richtigen Bereich als Parameter übergibst.

Alternative Methoden

Falls du excel zellfarbe auslesen ohne vba möchtest, kannst du die bedingte Formatierung verwenden oder eine Hilfsspalte nutzen, um manuell die Farben zuzuordnen. Eine Möglichkeit ist, die Hintergrundfarbe einer Zelle durch eine Formel zu bestimmen, indem du eine separate Tabelle erstellst, die die Farben und deren Codes auflistet.


Praktische Beispiele

  1. Zellfarbe in einer Tabelle abfragen:

    • Erstelle eine Hilfstabelle, die die Farbwerte und die entsprechenden Zellen zeigt.
    • Nutze die SVERWEIS-Funktion, um die Farben basierend auf den Zellen zu bestimmen.
  2. Farbcode herausfinden:

    • Verwende den Code im VBA-Editor, um den Farbcode einer Zelle zu ermitteln und in einer anderen Zelle darzustellen.

Tipps für Profis

  • Nutze die Interior.ColorIndex-Eigenschaft, um den Farbindex anstelle des Farbwerts auszulesen. Dies kann nützlich sein, wenn du mit vordefinierten Farben arbeiten möchtest.
  • Verwende die If-Abfrage in deinem VBA-Code, um spezifische Farbwerte zu überprüfen und entsprechend zu handeln, wie im Beitrag von Oisse empfohlen.

FAQ: Häufige Fragen

1. Wie kann ich die Hintergrundfarbe ohne VBA auslesen?
Es gibt keine direkte Möglichkeit, die Hintergrundfarbe ohne VBA zu bestimmen. Du kannst jedoch die Informationen manuell in einer Hilfstabelle festhalten.

2. Was passiert, wenn die Zelle keine Hintergrundfarbe hat?
In diesem Fall gibt die Funktion einen Farbwert für Weiß zurück, was bedeutet, dass die Zelle keinen sichtbaren Farbwert hat. Du kannst dies mit einer If-Abfrage abfangen und entsprechend handeln.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige