Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen einfärben mit VBA

Zellen einfärben mit VBA
10.06.2009 18:19:00
Jordan
Hallo zusammen,
eigentlich wollte ich nicht nachfragen und selbst drauf kommen. Nun da ich hier schreibe, ist die Erkenntnis das, dass ich nicht selbst drauf gekommen bin:-(
Nun mein Problem. Ich möchte Zellen die einen bestimmten Wert überschreiten ( hier 20) einfärben.
Ich weis, das ich dies auch über die bedingte Formatierung machen kann! Ich will das aber über VBA machen.
Ich habe in Zellen B2:e14 Zahlen im Wert zwischen 1 und 50. Die Zellen deren Wert über 20 ist sollen markiert werden.
Das ist mein Versuch:

Sub Zellenuebermarkieren()
Dim Bereich As Range
Set Bereich = Tabelle1.Range("b2:e14")
If Bereich.Cells.Value >= 20 Then
Bereich.Cells.Interior.ColorIndex = 2
End If
End Sub


Für Eure Hilfe im voraus besten Dank.
Viele Grüße
Jordan

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Danke, und ich .....
10.06.2009 18:32:49
Jordan
hab was mit dem ich mir das nahende Wochenend vertreinben kann.
Merci Hajo.
Wenn ich Fragen dazu habe, dann meld ich mich!
Anzeige
AW: Zellen einfärben mit VBA
10.06.2009 18:37:43
Dirk
Hallo Jordan,
versuche folgenden Code:

Sub Zellenuebermarkieren()
Dim Bereich As Range, Cells As Range
Set Bereich = Sheets("Tabelle1").Range("b2:e14")
For Each Cells In Bereich
If Cells.Value >= 20 Then Cells.Interior.ColorIndex = 2
Next Cells
End Sub


Gruß
Dirk

Anzeige
Da bin ich platt...
10.06.2009 21:51:26
Jordan
Hallo Dirk,
danke für deine Hilfe! So gehts. Nun kann ich weiter experimentieren.
Merci
Man benutzt keine VBA-Code-Wörter als...
11.06.2009 15:27:49
Luc:-?
...Laufvariablennamen, Dirk!
For Each zelle In bereich wäre besser!
Gruß Luc :-?
AW: Zellen einfärben mit VBA
10.06.2009 18:43:45
bernd
hallo
probier das mal
gruß

Sub Zellenmarkieren()
Dim rng As Range
Dim Bereich As Range
Set Bereich = Tabelle1.Range("b2:e14")
For Each rng In Bereich
If rng.Cells.Value > 20 Then
rng.Cells.Interior.ColorIndex = 3 ' rot
End If
Next
End Sub


Anzeige
Danke Bernd....
10.06.2009 21:57:17
Jordan
..... Langsam glaube ich versteh ich, was ich für einen Fehler in meinen Versuchen hatte.
Merci und schönen abend!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellen einfärben mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um Zellen in Excel mithilfe von VBA einzufärben, folge diesen Schritten:

  1. Öffne Excel und aktiviere das VBA-Editor-Fenster:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere und füge den folgenden VBA-Code ein:

    Sub Zellenuebermarkieren()
       Dim Bereich As Range
       Set Bereich = Sheets("Tabelle1").Range("b2:e14")
       For Each zelle In Bereich
           If zelle.Value >= 20 Then
               zelle.Interior.ColorIndex = 3 ' Rot
           End If
       Next zelle
    End Sub
  4. Führe das Makro aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Drücke ALT + F8, wähle das Makro Zellenuebermarkieren aus und klicke auf Ausführen.

Die Zellen, deren Wert 20 oder mehr beträgt, werden nun rot eingefärbt.


Häufige Fehler und Lösungen

Fehler: Zellen werden nicht eingefärbt.
Lösung: Überprüfe, ob die Werte in den Zellen tatsächlich numerisch sind und ob die Range korrekt definiert ist.

Fehler: Der Code läuft nicht.
Lösung: Stelle sicher, dass der Code im richtigen Modul und in der richtigen Arbeitsmappe eingefügt ist.


Alternative Methoden

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

  1. Markiere den Zellenbereich (z.B. B2:E14).
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Zellen formatieren, die und dann größer als.
  4. Gib den Wert 20 ein und wähle die gewünschte Formatierung aus.

Praktische Beispiele

Hier sind zwei nützliche VBA-Codes, um Zellen farbig zu markieren:

  1. Zellen mit einem Wert über 20 einfärben (rot):

    Sub ZellenRotFärben()
       Dim Bereich As Range
       Set Bereich = Sheets("Tabelle1").Range("b2:e14")
       For Each zelle In Bereich
           If zelle.Value > 20 Then zelle.Interior.ColorIndex = 3 ' Rot
       Next zelle
    End Sub
  2. Zellen mit einem Wert unter 10 einfärben (grün):

    Sub ZellenGruenFärben()
       Dim Bereich As Range
       Set Bereich = Sheets("Tabelle1").Range("b2:e14")
       For Each zelle In Bereich
           If zelle.Value < 10 Then zelle.Interior.ColorIndex = 4 ' Grün
       Next zelle
    End Sub

Tipps für Profis

  • Verwende Color anstelle von ColorIndex, um eine breitere Palette an Farben zu nutzen:

    zelle.Interior.Color = RGB(255, 0, 0) ' Rot
  • Nutze With...End With, um den Code leserlicher zu gestalten:

    With zelle.Interior
      .ColorIndex = 3
    End With
  • Denke daran, die Performance zu optimieren, indem Du Application.ScreenUpdating = False und Application.ScreenUpdating = True verwendest, um das Flackern des Bildschirms zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich die Farbe der Zellen ändern?
Du kannst den ColorIndex oder Color Wert im VBA-Code anpassen, um eine andere Farbe auszuwählen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen (Excel 2007 und neuer) funktionieren.

3. Kann ich mehrere Bedingungen hinzufügen?
Ja, Du kannst mehrere If...ElseIf Bedingungen im VBA-Code hinzufügen, um verschiedene Farben für unterschiedliche Werte zu verwenden.

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