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

Zelle mit Wert mit VBA Farbe zuweisen!

Forumthread: Zelle mit Wert mit VBA Farbe zuweisen!

Zelle mit Wert mit VBA Farbe zuweisen!
29.01.2008 18:36:00
Markus
Hallo zusammen,
ich möchte in meiner Tabelle alle Zellen (D6:GC110) mit folgenden Werten über VBA farbig markieren:
SC = Grün
SU = Gelb
U = Gelb
K = Blau
E = Grau
Ü = Lila
kann mir dabei jemand helfen?
Danke und Gruß Markus

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zelle mit Wert mit VBA Farbe zuweisen!
29.01.2008 18:49:09
Chris
Servus

Sub farbe()
Dim Zelle as Range, Bereich as Range
Set Bereich = Range("D6:GC110")
For each Zelle In Bereich
Select Case Zelle.Value
Case "SC":
Zelle.Interior.ColorIndex = 4
Case "SU":
Zelle.Interior.ColorIndex = 4
u.s.w.  Die Farbenindexnummern, kannst du dir über den Makrorecorder holen. Einfach Makro  _
aufzeichnen und zelle mit entsprechender Füllfarbe versehen und dann nachschauen  und als Case: vor End Select analog dem Beispiel einfügen (Ich hab die jetzt nicht alle im Kopf)
End Select
Next Zelle
End Sub


Gruß
Chris

Anzeige
AW: Zelle mit Wert mit VBA Farbe zuweisen!
29.01.2008 18:54:39
Reinhard
Hi Markus,
mit dem zweiten Makro sieht du, welche Farbe der zeilennummer entspricht.
Diese Zeilennummern mußt du dann im Code für die Variable F() anpassen.
Wichtig ist daß es für jeden durch Komma getrennten Eintrag in W() auch einen in F() gibt, dann kannst du die Kriterien in W() beliebig vergrößern.
Gruß
Reinhard

Option Explicit
Sub Ostern()
Dim N, Zelle, W, F
W = Array("SC", "SU", "U", "K", "E", "U")
F = Array(3, 5, 7, 34, 12, 6)
For Each Zelle In Range("D6:GC110")
For N = 0 To UBound(W)
If Zelle = W(N) Then
Zelle.Interior.ColorIndex = F(N)
Exit For
End If
Next N
Next Zelle
End Sub
Sub Farbwert()
Dim F
For F = 1 To 56
Cells(F, 1).Interior.ColorIndex = F
Next F
End Sub


Anzeige
AW: Zelle mit Wert mit VBA Farbe zuweisen!
29.01.2008 20:24:00
Markus
Dank Euch,
funktioniert hervorragend!
Gruß Markus
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zelle mit Wert farbig markieren in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel Zellen mit bestimmten Werten farbig zu markieren, kannst Du ein VBA-Makro verwenden. Folge diesen Schritten:

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

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Füge den folgenden Code ein:

    Sub farbe()
       Dim Zelle As Range, Bereich As Range
       Set Bereich = Range("D6:GC110")
       For Each Zelle In Bereich
           Select Case Zelle.Value
               Case "SC":
                   Zelle.Interior.ColorIndex = 4 ' Grün
               Case "SU":
                   Zelle.Interior.ColorIndex = 6 ' Gelb
               Case "U":
                   Zelle.Interior.ColorIndex = 6 ' Gelb
               Case "K":
                   Zelle.Interior.ColorIndex = 5 ' Blau
               Case "E":
                   Zelle.Interior.ColorIndex = 15 ' Grau
               Case "Ü":
                   Zelle.Interior.ColorIndex = 13 ' Lila
           End Select
       Next Zelle
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle das Makro farbe aus und klicke auf Ausführen.

Mit diesem Makro kannst Du die Hintergrundfarbe der Zellen in dem angegebenen Bereich entsprechend dem Wert in der Zelle ändern.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"

    • Lösung: Überprüfe, ob der Zellbereich (D6:GC110) korrekt ist und ob Du die richtigen Berechtigungen hast, um Makros auszuführen.
  • Fehler: Die Farben werden nicht geändert

    • Lösung: Stelle sicher, dass die Werte in den Zellen exakt mit denen im Code übereinstimmen. Achte auf Groß- und Kleinschreibung.

Alternative Methoden

Wenn Du die Zellen ohne VBA einfärben möchtest, kannst Du auch die bedingte Formatierung verwenden:

  1. Markiere den Zellbereich D6:GC110.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Regel zur Verwendung einer Formel zur Ermittlung der zu formatierenden Zellen.
  4. Gib folgende Formel ein:
    • Für SC: =D6="SC"
  5. Klicke auf Formatieren, wähle die gewünschte Farbe aus und bestätige.

Wiederhole diesen Vorgang für jede Bedingung, die Du hinzufügen möchtest.


Praktische Beispiele

Hier sind zwei Beispiele, wie Du VBA verwenden kannst, um die Hintergrundfarbe basierend auf bestimmten Werten zu ändern:

  1. Beispiel für Farben nach Wert:

    Sub Farbwert()
       Dim F
       For F = 1 To 56
           Cells(F, 1).Interior.ColorIndex = F
       Next F
    End Sub
  2. Beispiel für benutzerdefinierte Zuweisung:

    Sub Ostern()
       Dim N, Zelle, W, F
       W = Array("SC", "SU", "U", "K", "E", "Ü")
       F = Array(4, 6, 6, 5, 15, 13) ' Beispiel: Farbindex
       For Each Zelle In Range("D6:GC110")
           For N = 0 To UBound(W)
               If Zelle = W(N) Then
                   Zelle.Interior.ColorIndex = F(N)
                   Exit For
               End If
           Next N
       Next Zelle
    End Sub

Tipps für Profis

  • Verwende RGB-Farben: Du kannst die RGB-Funktion verwenden, um spezifischere Farben zu definieren, z.B. Zelle.Interior.Color = RGB(255, 0, 0) für Rot.
  • Makros speichern: Speichere Deine Datei im .xlsm-Format, um die Makros zu behalten.
  • Testen und Debuggen: Nutze den Debugger im VBA-Editor, um Probleme im Code zu identifizieren.

FAQ: Häufige Fragen

1. Wie kann ich die Hintergrundfarbe einer Zelle ändern, wenn der Wert "A" ist? Du kannst das Makro anpassen, indem Du einen weiteren Case im Select Case-Block hinzufügst.

2. Was ist der Unterschied zwischen ColorIndex und Color? ColorIndex verwendet vordefinierte Farbnummern, während Color die RGB-Werte verwendet, um eine Farbe präzise zu definieren.

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