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

Wenn Zelle Datum dann Farbe über VBA

Forumthread: Wenn Zelle Datum dann Farbe über VBA

Wenn Zelle Datum dann Farbe über VBA
02.09.2016 13:10:42
VBA-Noob
Hi Zusammen,
ich habe ein kleines Problem und zwar will ich (eig. ganz simpel) wenn in der Spalte T das heutige Datum eingetragen ist, dass dieses Zelle Grün markiert wird.
Mein Code bisher:

Sub Farbe()
Dim Zelle As Range
Dim Bereich As Range
Dim Datum As Date
Set Bereich = Range("T1:T2000")
For Each Zelle In Bereich
Select Case Zelle.Value
!!!!!     Case Datum: !!!!!!
Zelle.Interior.Color = 5296274
End Select
Next Zelle
End Sub

Die !!!! markieren ab wo ich ein Fehler mache. Ich bitte hier um HILFE!!
Danke im Voraus an jeden der hilft.
LG
VBA Noob
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Case Date owT
02.09.2016 13:15:57
Rudi
AW: Wenn Zelle Datum dann Farbe über VBA
02.09.2016 13:23:32
VBA-Noob
Hi Rudi,
Was ist owT? Denn Case Date owT funktioniert nicht...
LG
Ach Gottchen, owT = ohne weiteren Text, ...
02.09.2016 14:31:56
Luc:-?
…ansonsten ist Case bei nur einer Relevanz ziemlich überflüssig, Noob;
If Zelle.Text = Split(Now)(0) Then Zelle.Interior.Color = 5296274 'Else !Rückfärben!
Beachte aber, dass sich die Zelle nicht wieder zurückfärbt, wenn ihr Datum nicht mehr mit dem dann heutigen übereinstimmt. Hier wäre dann ein BedingtFormat, das man auch per VBA setzen kann, angebrachter, weil man dann das Rückfärben nicht auch noch vorsehen muss.
Das Ganze kann man ggf auch per EreignisProzedur automatisieren.
Feedback nicht unerwünscht! Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Ach Gottchen, owT = ohne weiteren Text, ...
02.09.2016 19:44:14
VBA-Noob
Hi Luc,
nett von dir das du mich mit deinem Wissen beehrst! :)
Ich danke dir trotz deiner Art und Weise
Für jeden der es liest es funktioniert sehr gut, man muss lediglich die Case Anweisung löschen und
den Code von Luc verwenden.
LG
VBA-Noob
...und wie darf ich deine A&W interpretieren?! owT
02.09.2016 22:54:08
Luc:-?
:-?
Anzeige

Infobox / Tutorial

Zelle Farbe ändern, wenn Datum in Excel über VBA


Schritt-für-Schritt-Anleitung

Um eine Zelle in Excel grün zu markieren, wenn das heutige Datum dort eingetragen ist, kannst du den folgenden VBA-Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke im Projektfenster mit der rechten Maustaste auf VBAProject (deine Datei), wähle Einfügen und dann Modul.
  3. Füge den nachstehenden Code in das Modul ein:
Sub Farbe()
    Dim Zelle As Range
    Dim Bereich As Range
    Dim Datum As Date
    Datum = Date ' Heutiges Datum
    Set Bereich = Range("T1:T2000")

    For Each Zelle In Bereich
        If Zelle.Value = Datum Then
            Zelle.Interior.Color = 5296274 ' Grün
        Else
            Zelle.Interior.ColorIndex = xlNone ' Rückfärben
        End If
    Next Zelle
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle Farbe und klicke auf Ausführen, um den Code zu starten.

Häufige Fehler und Lösungen

  • Fehler: Zelle färbt sich nicht
    Überprüfe, ob das Datum im richtigen Format vorliegt. Excel benötigt das Datum als Date-Objekt.

  • Fehler: Zelle färbt sich nicht zurück
    Stelle sicher, dass du im Code auch das Rückfärben der Zelle berücksichtigst, wie im obigen Beispiel Else Zelle.Interior.ColorIndex = xlNone.

  • Fehler: Fehlermeldung beim Ausführen des Codes
    Achte darauf, dass der Code in einem Modul und nicht in einer Arbeitsblatt- oder Arbeitsmappen-Objekt eingegeben wurde.


Alternative Methoden

Eine alternative Methode zur Farbanpassung basierend auf dem Datum ist die Verwendung der bedingten Formatierung:

  1. Wähle die Zellen in Spalte T aus.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden.
  4. Gib die folgende Formel ein:
    =T1=HEUTE()
  5. Wähle die gewünschte Formatierung (z.B. grüne Füllfarbe) und klicke auf OK.

Praktische Beispiele

Wenn du beispielsweise die Zellen T1 bis T10 überwachen möchtest, kannst du den Bereich im VBA-Code entsprechend anpassen:

Set Bereich = Range("T1:T10")

Das gleiche gilt für die bedingte Formatierung, wo du die Zellen anpassen kannst, um nur einen bestimmten Bereich zu überwachen.


Tipps für Profis

  • Nutze die Ereignisprozeduren, um den Code automatisch auszuführen, wenn Werte in der Zelle geändert werden.
  • Experimentiere mit verschiedenen Farbcodes, um die Zellen visuell ansprechender zu gestalten. Die Farbcodes findest du in der Excel-Dokumentation.
  • Verwende Application.OnTime, um den Code regelmäßig auszuführen, falls du häufige Aktualisierungen benötigst.

FAQ: Häufige Fragen

1. Frage
Wie ändere ich die Farbe in eine andere?
Antwort: Ändere einfach den Farbcode in Zelle.Interior.Color = 5296274 zu einem anderen Farbcode.

2. Frage
Kann ich die Zellen auch mit anderen Bedingungen formatieren?
Antwort: Ja, du kannst die If-Bedingung im VBA oder die Formel in der bedingten Formatierung anpassen, um unterschiedliche Kriterien zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige