Verwijder alle cellen met gegevens van eerdere datums met VBA

Anonim

In dit artikel zullen we een macro maken om gegevens van eerdere datums te verwijderen. Deze macro controleert de gegevens, bewaart de gegevens van vandaag en verwijdert alle gegevens van eerdere datums.

De onbewerkte gegevens in dit voorbeeld bestaan ​​uit de datum, de naam van de agent en de verkoop van de individuele agent op die specifieke datum.

Om de macro uit te voeren, klikt u op de knop op het "Hoofd" -blad of u kunt deze zelfs uitvoeren door op de sneltoetsen Alt + F8 te drukken.

Macro verwijdert alle records met eerdere datums. Als we deze macro uitvoeren op 14 december 2016, geeft de uitvoer alleen records voor die datum weer.

Logische uitleg

In dit voorbeeld hebben we de macro "RemovePreviousData" gemaakt. Deze macro gebruikt een omgekeerde FOR-lus, wat betekent dat de lus in tegengestelde richting loopt. Loop begint vanaf de laatste rij en gaat naar de bovenste rij.

De reden voor het gebruik van reverse looping is dat als we de normale FOR-lus hadden gebruikt, de records in de gegevens na elke rijverwijdering naar boven zouden zijn verschoven, wat zou resulteren in een verandering van positionering bij elke rijverwijdering. Dus om dat tegen te gaan, hebben we een omgekeerde lus gebruikt.

We hebben de Step-instructie samen met de FOR-lus gebruikt om in de omgekeerde richting te lussen. FOR-lus begint vanaf de laatste rij en loopt naar 11e rij.

Volg hieronder voor de code:

 Optie Explicit Sub RemovePreviousData() Dim Counter, LastRow As Integer 'Het rijnummer van de laatste rij vinden LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row 'Looping van laatste rij naar 11e rij For Counter = LastRow To 11 Stap -1 If Cells(Teller, 1).Waarde <Datum Dan 'De rij verwijderen Rijen(Teller).Delete End If Next Counter End Sub 

Als je deze blog leuk vond, deel hem dan met je vrienden op Facebook. Ook kunt u ons volgen op Twitter en Facebook.

We horen graag van u, laat ons weten hoe we ons werk kunnen verbeteren en voor u kunnen verbeteren. Schrijf ons op de e-mailsite