Zellinhalte löschen in Range bei Datum überschritt

Bild

Betrifft: Zellinhalte löschen in Range bei Datum überschritt
von: Schaffhauser
Geschrieben am: 24.11.2015 17:44:15

Hallo werte Damen & Herren
Hoffe auf Hilfe.
Soll:
Kontrolle Range L4:L2000 auf Datum, falls in Vergangenheit (< Heute), dann
ClearContents der jeweiligen Row 11-13 (K-M)
& Formatanpassung
ActiveCell.Row 11 = Color Index 19
ActiveCell.Row 12 = Color Index 36
ActiveCell.Row 13 = Color Index 19
wenn Datum => Heute dann nichts machen
einer eine Idee? Besten dank für eure Hilfe

Bild

Betrifft: AW: Zellinhalte löschen in Range bei Datum überschritt
von: Tino
Geschrieben am: 24.11.2015 18:07:19
Hallo,
kannst mal diesen Code testen.
Beachte die Kommentare im Code!

Sub Beispiel()
Dim ArData, rngSammlung As Range, n&
'Spalten im ausgewählten Bereich
'Bsp bei Range K bis M = L = 2
Const CheckColInRange& = 2
With Tabelle1 'Tabelle anpassen
    With .Range("K4:M2000") 'Bereich anpassen
        ArData = .Value2
        For n = 1 To UBound(ArData)
            If ArData(n, CheckColInRange) < Date Then
                If ArData(n, CheckColInRange) <> "" Then
                    If Not rngSammlung Is Nothing Then
                        Set rngSammlung = Union(rngSammlung, .Rows(n))
                    Else
                        Set rngSammlung = .Rows(n)
                    End If
                End If
            End If
        Next n
        
        If Not rngSammlung Is Nothing Then
            rngSammlung.ClearContents
            n = 0
            For Each rngSammlung In rngSammlung.Rows
                n = n + 1
                If n Mod 2 = 0 Then
                    rngSammlung.Interior.ColorIndex = 19
                Else
                    rngSammlung.Interior.ColorIndex = 36
                End If
            Next rngSammlung
        End If
    End With
End With
End Sub
Gruß Tino

Bild

Betrifft: AW: Zellinhalte löschen in Range bei Datum überschritt
von: Schaffhauser
Geschrieben am: 24.11.2015 18:43:57
Vielen Dank, funktioniert wunderbar!
Nur wird auf der Linie der Range von 11-13 komplett die Farbe gewechselt und nicht
11 = 19, 12 = 36, 13 = 19
Wenns aber weiter nichts ist, kann ich damit Leben.
Falls es dir nicht all zuviel Mühe macht, wär ich dir riesig dankbar, wenn du mir zu den jeweiligen Zeilen der Makro in Stichworten erwähnst was geschieht.
Bin ja zum lernen hier und nicht nur zum profitieren :) Danke!

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zellinhalte löschen in Range bei Datum überschritt"