Zeilen vor einem Stichtag löschen (Microsoft Excel)
Barry hat ein großes Arbeitsblatt mit mehreren tausend Datenzeilen.
Spalte B enthält ein Datum, und er muss alle Zeilen löschen, in denen das Datum in Spalte B vor einem bestimmten Stichtag liegt. Barry wundert sich über den einfachsten Weg, dies für so viele Daten zu tun.
Dies ist recht einfach. Der Ansatz hängt davon ab, wie oft Sie dies tun müssen und wie Sie mit Ihren Daten arbeiten möchten. Wenn es Ihnen egal ist, in welcher Reihenfolge sich Ihre Daten befinden, ist die einfachste Methode die, die ich als „Sortieren und Löschen“ bezeichne:
-
Wählen Sie Zelle B2 aus. (Dies setzt voraus, dass B2 das erste Datum in Ihren Datenzeilen ist, da Zeile 1 Überschriften enthält.)
-
Zeigen Sie die Registerkarte Daten des Menübands an.
-
Klicken Sie auf das Werkzeug Älteste nach Neueste sortieren. Excel sortiert die Daten nach den Daten in Spalte B, wobei das älteste Datum in Zeile 2 steht.
-
Wählen Sie die Zeilen aus und löschen Sie sie, die Datumsangaben vor Ihrem Cutoff enthalten.
Dies funktioniert hervorragend, wenn Sie diese Aufgabe nur gelegentlich ausführen müssen und wenn Sie nichts dagegen haben, dass die Zeilen in den Daten neu angeordnet werden. Wenn die Neuordnung ein Problem darstellt, möchten Sie möglicherweise eine Spalte zu Ihren Daten hinzufügen und diese Spalte mit Werten von 1 bis zu beliebig vielen Datenzeilen füllen. Sie können dann die Methode „Sortieren und Löschen“ ausführen, aber anschließend Ihre Daten basierend auf den Werten in der von Ihnen hinzugefügten Spalte neu sortieren.
Natürlich können Sie auch eine „Filter and Delete“ -Methode verwenden, mit der Ihre Daten in der ursprünglichen Reihenfolge belassen werden, ohne dass eine Hilfsspalte erforderlich ist:
-
Wählen Sie Zelle B2 aus. (Dies setzt voraus, dass B2 das erste Datum in Ihren Datenzeilen ist, da Zeile 1 Überschriften enthält.)
-
Drücken Sie Strg + Umschalt + L. Excel wendet AutoFilter auf Ihre Daten an. (Sie sollten in der Lage sein, die kleinen Dropdown-Pfeile neben den Überschriften in Zeile 1 zu sehen.)
-
Klicken Sie auf den Dropdown-Pfeil neben der Datumsüberschrift in Zelle B1. Excel zeigt einige Sortier- und Filteroptionen an.
-
Bewegen Sie den Mauszeiger über die Option Datumsfilter. Excel zeigt noch mehr Optionen an.
-
Wählen Sie die Option Vorher. Excel zeigt das Dialogfeld Benutzerdefinierter AutoFilter an.
-
Geben Sie im Feld rechts neben „Ist vor“ ein Datum einen Tag nach Ihrem Stichtag an.
-
OK klicken. Excel wendet den Filter an und Sie können nur die Zeilen sehen, die sich an oder vor Ihrem Stichtag befinden.
-
Wählen Sie alle Zeilen aus, jedoch nicht Zeile 1. (Dies liegt daran, dass Zeile 1 Ihre Überschriften enthält.)
-
Zeigen Sie die Registerkarte Home des Menübands an.
-
Klicken Sie auf das Werkzeug Löschen. Excel löscht alle ausgewählten Zeilen.
-
Zeigen Sie die Registerkarte Daten des Menübands an.
-
Klicken Sie auf das Filter-Werkzeug, um den AutoFilter zu entfernen.
Wenn Sie die Aufgabe des häufigen Entfernens von Zeilen ausführen müssen, können Sie die Bequemlichkeit der Verwendung eines Makros nicht übertreffen. Das folgende Makro setzt voraus, dass Sie das Stichtag in Zelle K1 platziert haben. Es erfasst dieses Datum und überprüft dann jede Zeile in Ihren Daten, wobei alle Zeilen gelöscht werden, die vor diesem Stichtag liegen.
Sub DeleteRowsBeforeCutoff() Dim LastRow As Integer Dim J As Integer Application.ScreenUpdating = False LastRow = Cells(Rows.Count, 2).End(xlUp).Row For J = LastRow To 1 Step -1 If Cells(J, 2) < [K1] Then Cells(J, 2).EntireRow.Delete End If Next J Application.ScreenUpdating = True End Sub
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (1566) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.