1.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
ich habe für folgendes Problem noch keine Lösung gefunden: In der Spalte B34:B306 stehen die Tage ( Datum ) und es soll die zum Datum gehörende Zeile gelöscht werden, wenn das heutige Datum überschritten ist.
Kann mir jemand einen Tip geben ?
Gruß Karin

4 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Karin,

das geht nur per Makro.
löschen wenn Spalte A kein Datum enthält
folgender Vorschlag (die Spalte A wird auf Datumsinhalte überprüft):
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Not IsDate(Cells(i, 1).Text) Then Rows(i).Delete
Next

Sub löschen()
‘ mit bestimmten Datum löschen
Dim I As Long
Dim Letzte As Long
If [a65536] = "" Then
Letzte = [a65536].End(xlUp).Row
Else
Letzte = 65536
End If
On Error Resume Next
For I = Letzte To 1 Step -1
If IsDate(Cells(I, 1)) Then
If CDate(Cells(I, 1)) <Date Then Rows(I).Delete
End If
Next
End Sub

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,
danke für deinen Vorschlag. Es passiert aber nichts, wenn ich das Makro starte. Es sollte praktisch die Spalte B durchsucht werden und wenn ein Datum in der Vergangenheit liegt sollte die entsprechende Zeile gelöscht werden.
Freundliche Grüße
Karin
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Karin,

Du hastr den Code schon auf Spalte B geändert?

auch hier
If IsDate(Cells(I, 2)) Then
If CDate(Cells(I, 2)) <Date Then Rows(I).Delete

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,
super. Jetzt funktioniert es. Vielen Dank ! Einen schönen Sonntag noch.
Gruß Karin
...