Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1880to1884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen löschen wenn Datum...

Zeilen löschen wenn Datum...
03.05.2022 09:23:24
Jürgen
Liebe Community,
ich habe bei meiner Excel-Tabelle folgendes Problem:
Ich habe in Spalte O ein Datum im Format dd.mm.yyyy eingetragen, beginnend in O2, Ende variabel.
Nun möchte ich, dass beim Aufrufen des Tabellenblattes alle Zeilen gelöscht werden, in denen ein Datum eingetragen ist, welches älter als das aktuelle Jahr ist. Wenn wir uns also im Jahr 2022 befinden, sollen alle Zeilen mit Datum 2021 oder älter gelöscht werden.
Bitte um Hilfe, ich bekomms nicht hin.
Danke! Mfg Jürgen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen wenn Datum...
03.05.2022 10:36:56
Beverly
Hi Jürgen,
ich würde das nicht beim Aufrufen des Blattes machen, denn dann würde der entsprechende Code jedesmal ausgeführt, sondern zielgerichtet bei Bedarf - z.B. mit folgendem Makro, welches du einer Schaltfläche zuweisen kannst:

Sub Loeschen()
Dim lngZeile As Long
Dim lngLetzte As Long
Dim varLoeschen As Variant
With Worksheets("Tabelle1") ' "" Then .Range(.Cells(2, 15), .Cells(lngLetzte, 15)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub
Bis später
Karin

Anzeige
AW: Zeilen löschen wenn Datum...
03.05.2022 11:21:59
Jürgen
Hallo Karin,
danke für den Code. Er funktioniert fast.
Es gibt in dieser Datumsspalte auch Zellen, wo KEIN Datum eingetragen ist. Diese dürfen nicht gelöscht werden.
Und jetzt kommt das Eigenartige, was ich nicht ganz verstehe: Füge ich deinen Code ein und führe das Makro aus, dann werden 2 Datensätze, in denen das Datumsfeld leer ist, nicht gelöscht. Alle anderen, in denen kein Datum steht, werden hingegen gelöscht.
Könnte es etwas mit der Position der Datensätze zu tun haben? Die beiden nicht gelöschten sind die beiden letzten in der Tabelle?
Danke für deine Hilfe!
Lg Jürgen
Anzeige
AW: Zeilen löschen wenn Datum...
03.05.2022 11:44:52
Beverly
Hi Jürgen,
so ist das, wenn man die Problemstellung ungenau beschreibt bzw. keine Beispielmappe hochlädt, die alle wichtigen Elemente repräsentiert: das konnte niemand wissen, dass es auch Zellen ohne Datum (also bereits leere) gibt. ;-)
Der Code baut nämlich darauf auf, dass in der Schleife die Zellen mit dem falschen Jahr geleert und am Ende alle Zeilen mit leeren Zellen in Spalte O auf einen Ritt gelöscht werden.
Gibt es eine Spalte, in der ALLE Zellen belegt sind?
Was die letzten beiden leeren Datensätze betrifft: in Spalte O wird die letzte belegte Zeile ermittelt und dann von dieser an rückwärts bis Zeile 2 alle Zeilen durchlaufen - da dort in Spalte O nichts steht, wird die letzte Zeile um 2 weniger ermittelt und somit nur die leeren Zeilen bis zu letzten tatsächlich belegten Zeile gelöscht.
Bis später
Karin

Anzeige
AW: Zeilen löschen wenn Datum...
03.05.2022 12:00:30
Jürgen
Hallo Karin,
ich weiß, ich weiß! Mea culpa! Sollte ja auch kein Vorwurf sein :)
Hier eine Beispieldatei: https://www.herber.de/bbs/user/152823.xlsx
Es gibt durchaus Spalten, in denen jede Zelle belegt ist. Aber in keiner Zeile ist jede Zelle befüllt.
Lg Jürgen
AW: Zeilen löschen wenn Datum...
03.05.2022 12:10:20
Beverly
Hi Jürgen,
dann nehmen wir als Grundlage die Spalte B:

Sub Loeschen()
Dim lngZeile As Long
Dim lngLetzte As Long
Dim varLoeschen As Variant
With Worksheets("Tabelle1") ' "" Then
If Year(.Cells(lngZeile, 15))  "" Then .Range(.Cells(2, 2), .Cells(lngLetzte, 2)).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
End Sub
Bis später
Karin

Anzeige
AW: Zeilen löschen wenn Datum...
03.05.2022 12:20:09
Jürgen
Hi Karin,
das funktioniert PERFEKT!! Danke!!
Lg Jürgen

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige