online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon torsten110 vom 09.11.2019, 12:52 Options

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

Ähnliche Themen

Excel Zeilen löschen
Smart79  07.09.2007 - 290 Hits -

Excel Datum HEUTE Zeilen übernehmen
heimlichen  03.11.2007 - 107 Hits - 6 Antworten

bestimmte Excel-Zeilen löschen
Renatus  29.11.2007 - 225 Hits - 18 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026