In diesem Artikel erstellen wir ein Makro zum Löschen von Daten früherer Daten. Dieses Makro überprüft die Daten, behält die heutigen Daten bei und löscht alle Daten von früheren Daten.
Rohdaten in diesem Beispiel bestehen aus Datum, Agentenname und Verkäufen des einzelnen Agenten an diesem bestimmten Datum.
Um das Makro auszuführen, klicken Sie auf die Schaltfläche im Hauptblatt oder Sie können es sogar ausführen, indem Sie die Tastenkombinationen Alt + F8 drücken.
Makro löscht alle Datensätze mit früheren Daten. Da wir dieses Makro am 14. Dezember 2016 ausführen, spiegelt die Ausgabe nur Datensätze für dieses Datum wider.
Logikerklärung
In diesem Beispiel haben wir das Makro „RemovePreviousData“ erstellt. Dieses Makro verwendet eine umgekehrte FOR-Schleife, dh die Schleife läuft in die entgegengesetzte Richtung. Loop beginnt mit der letzten Reihe und bewegt sich in Richtung der obersten Reihe.
Der Grund für die Verwendung der umgekehrten Schleife besteht darin, dass, wenn wir die normale FOR-Schleife verwendet hätten, nach jeder Zeilenlöschung die in den Daten vorhandenen Datensätze nach oben verschoben worden wären, was zu einer Änderung der Positionierung bei jeder Zeilenlöschung geführt hätte. Um dem entgegenzuwirken, haben wir eine Umkehrschleife verwendet.
Wir haben die Step-Anweisung zusammen mit der FOR-Schleife zum Schleifen in umgekehrter Richtung verwendet. Die FOR-Schleife beginnt mit der letzten Reihe und verläuft in Richtung 11NS Reihe.
Bitte folgen Sie unten für den Code
Option Explicit Sub RemovePreviousData() Dim Counter, LastRow As Integer 'Ermitteln der Zeilennummer der letzten Zeile LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row 'Looping from last row to 11th row For Counter = LastRow To 11 Schritt -1 If Cells(Counter, 1).Value < Date Then 'Löschen der Zeile Rows(Counter).Delete End If Next Counter End Sub
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.
Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site