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

Forumthread: Zelle färben mit VBA

Zelle färben mit VBA
10.01.2020 15:54:26
alex_de_souza
Hallo,
ich möchte beim Öffnen meiner Excel Datei eine Abfrage starten und das Datum in der Spalte D mit heute vergleichen. Wenn das Datum schon um 8 Tage überschritten wurde soll die jeweilige Zeile in der Spalte E rot markiert werden.(also bei d3 soll e3 rot markiert werden usw..)
Eine entsprechenden Code habe ich schon zusammengebastelt:
If Range("D3").Value + 8 > Date Then Range("E3").Interior.Color = vbRed
Das funktioniert auch. Wie kann ich diesen Code für die gesamte Spalte übernehmen, so das beispielsweise bei D50 E50 rot markiert wird.
Hat da jemand einen Tipp?
LG
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle färben mit VBA
10.01.2020 16:03:22
Nepumuk
Hallo Alex,
in das Modul "DieseArbeitsmappe":
Option Explicit

Private Sub Workbook_Open()
    Dim lngRow As Long
    With Worksheets("Tabelle1") 'Tabellennamen anpassen !!!
        For lngRow = 3 To .Cells(.Rows.Count, 4).End(xlUp).Row
            If .Cells(lngRow, 4).Value + 8 > Date Then .Cells(lngRow, 5).Interior.Color = vbRed
        Next
    End With
End Sub

Eventuell musst du die Startzeile (3) anpassen.
Gruß
Nepumuk
Anzeige
AW: Zelle färben mit VBA
10.01.2020 16:26:21
alex_de_souza
Hallo Nepumuk,
vielen Dank für die Hilfe. Der Code scheint super zu funktionieren. Jedoch passiert etwas, wofür ich keine Erklärung habe.
Ich habe das +8 mit +60 ersetzt, jedoch werden auch viel ältere Daten rot markiert. Weißt du, woran das liegt? Die Datei hänge ich mit an.
https://www.herber.de/bbs/user/134307.xlsm
Lg
Anzeige
AW: Zelle färben mit VBA
10.01.2020 16:37:28
Nepumuk
Hallo Alex,
du hast Daten in der Tabelle die wie ein Datum aussehen, aber Text sind. Markiere mal die Daten dann Register Daten - Text in Spalten - Fertig stellen. Dann teste das Makro nochmal.
Am besten damit, das löscht nicht mehr benötigte Farben.
Option Explicit

Private Sub Workbook_Open()
    Dim lngRow As Long
    With Worksheets("Tabelle1") 'Tabellennamen anpassen !!!
        For lngRow = 3 To .Cells(.Rows.Count, 4).End(xlUp).Row
            If .Cells(lngRow, 4).Value + 60 > Date Then
                .Cells(lngRow, 5).Interior.Color = vbRed
            Else
                .Cells(lngRow, 5).Interior.Pattern = xlPatternNone
            End If
        Next
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Zelle färben mit VBA
10.01.2020 16:40:41
alex_de_souza
Hallo Nepumuk,
hat wunderbar funktioniert. Vielen Dank.
LG
;

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

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