Slett alle celler med data fra tidligere datoer ved hjelp av VBA

Innholdsfortegnelse

I denne artikkelen vil vi lage en makro for å slette data fra tidligere datoer. Denne makroen sjekker dataene, beholder dagens data og sletter alle dataene fra tidligere datoer.

Rådata i dette eksemplet består av dato, agentnavn og salg av den enkelte agenten på den aktuelle datoen.

For å kjøre makroen, klikk på knappen på "Main" -arket, eller du kan til og med kjøre den ved å trykke hurtigtaster Alt + F8.

Makro vil slette alle postene med tidligere datoer. Når vi kjører denne makroen 14. desember 2016, vil utdataene bare gjenspeile poster for den datoen.

Logisk forklaring

I dette eksemplet har vi opprettet “RemovePreviousData” -makro. Denne makroen bruker omvendt FOR -løkke, betyr at løkken går i motsatt retning. Loop starter fra den siste raden og beveger seg mot den øverste raden.

Grunnen til å bruke omvendt sløyfe er at hvis vi hadde brukt normal FOR -sløyfe, ville postene i dataene ha flyttet seg oppover etter hver radsletting, noe som resulterte i endring av posisjonering for hver radsletting. Så for å motvirke det, har vi brukt omvendt sløyfe.

Vi har brukt Step -setning sammen med FOR -loop for looping i motsatt retning. FOR sløyfe begynner fra siste rad og løkker mot 11th rad.

Følg koden nedenfor

 Alternativ Eksplisitt Sub RemovePreviousData () Dim Counter, LastRow As Integer 'Finner radnummeret til siste rad LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell) .Rekke' Sløyfe fra siste rad til 11. rad For Counter = LastRow To 11 Trinn -1 Hvis celler (teller, 1) .Værdi <Dato Deretter 'Sletting av radene (teller). Slett slutt hvis neste teller avsluttes 

Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.

Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave