Slet alle celler med data fra tidligere datoer ved hjælp af VBA

Anonim

I denne artikel vil vi oprette en makro til sletning af data fra tidligere datoer. Denne makro kontrollerer dataene, gemmer dagens data og sletter alle data fra tidligere datoer.

Rådata i dette eksempel består af dato, agentnavn og salg af den enkelte agent på den pågældende dato.

For at køre makroen skal du klikke på knappen på "Main" -arket, eller du kan endda køre den ved at trykke på genvejstaster Alt + F8.

Makro sletter alle poster med tidligere datoer. Da vi kører denne makro den 14. december 2016, afspejler outputtet kun poster for denne dato.

Logisk forklaring

I dette eksempel har vi oprettet “RemovePreviousData” makro. Denne makro bruger reverse FOR loop, betyder loop løber i modsat retning. Loop starter fra den sidste række og bevæger sig mod den øverste række.

Grunden til at bruge omvendt sløjfe er, at hvis vi havde brugt normal FOR -sløjfe, så ville poster, der findes i dataene, have flyttet opad efter hver række -sletning, hvilket resulterede i ændring af positionering med hver række -sletning. Så for at imødegå det har vi brugt reverse loop.

Vi har brugt Step -sætning sammen med FOR -loop til looping i omvendt retning. FOR loop begynder fra sidste række og løkker mod 11th række.

Følg venligst nedenstående for koden

 Valgmulighed Eksplicit under FjernPreviousData () Dim tæller, LastRow som heltal 'Finde rækkenummer for sidste række LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell) .Række' Looping fra sidste række til 11. række For Counter = LastRow To 11 Trin -1 Hvis celler (tæller, 1) .Værdi <dato derefter 'Sletning af rækken Rækker (tæller). Slet ende hvis næste tæller slut sub 

Hvis du kunne lide denne blog, kan du dele den med dine venner på Facebook. Du kan også følge os på Twitter og Facebook.

Vi vil meget gerne høre fra dig, lad os vide, hvordan vi kan forbedre vores arbejde og gøre det bedre for dig. Skriv til os på e -mail -stedet