Excel, Zeilen beim Autostart automatisch über einen Wert in einer Spalte löschen
Hallo zusammen,
Ich habe eine Tabelle, wo in der Spalte E (mit Überschrift) ein Datum eingetragen wird. Hier möchte ich nun über das Datum, nach Ablauf von zwei Wochen (kleiner HEUTE-14), automatisch die damit belegten Zeilen löschen. Hat jemand einen Vorschlag für den VB-Code? Hab schon einiges probiert, bin aber nicht zum Ziel gekommen....
Antwort schreiben
Antwort 1 von coros vom 09.11.2019, 14:50 Options
Hallo Thorsten,
das sollte eigentlich mit nachfolgendem Makro realisierbar sein.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.[b]Option Explicit
Sub Löschen()
Dim iRow As Integer
Application.ScreenUpdating = False
For iRow = Range("E65536").End(xlUp).Row To 2 Step -1
If Format(Cells(iRow, 5), "dd.mm.yyyy") < Format(Now - 14, "dd.mm.yyyy") Then
Rows(iRow).Delete
End If
Next
End Sub[/b]
Hier werden alle Zeilen, deren Datum über 14 Tage in der Vergangenheit liegen, gelöscht.
Ich hoffe, Du kommst klar.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf
meiner HP in der
Rubrik Anleitungen und dort dann in der
Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
Bei Fragen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von Marie vom 09.11.2019, 15:06 Options
Probier mal das, müsste funktionieren falls ich Dich richtig verstanden habe.
Gruß Marie
Public Sub loeschenZeilenAlt()
Dim zeile As Integer
Dim Datum As Date
zeile = 2
While Tabelle1.Cells(zeile, 5) <> ""
If IsDate(Tabelle1.Cells(zeile, 5)) Then
Datum = Tabelle1.Cells(zeile, 5)
If Datum < Date - 14 Then ActiveSheet.Rows(zeile).Delete
End If
zeile = zeile + 1
Wend
End Sub
Antwort 3 von Marie vom 09.11.2019, 15:08 Options
Upps, sorry,nicht gesehen, dass schon eine Lösung vorhanden ist.
Antwort 4 von torsten110 vom 09.11.2019, 20:58 Options
Hallo Oliver und Marie,
Wow, so schnell hätte ich nicht mit Hilfe gerechnet.
Habe beide Codes ausprobiert. Der von Oliver führt leider dazu, das alle Einträge gelöscht wurden, der von Marie läuft jedoch super.
Den Code hab ich in den Autostart-Makro eingebaut, rennt wie gewünscht.
Ich danke beiden für die schnelle Hilfe, Torsten