Izmantojot VBA, izdzēsiet visas šūnas ar datiem no iepriekšējiem datumiem

Anonim

Šajā rakstā mēs izveidosim makro, lai dzēstu iepriekšējo datumu datus. Šis makro pārbauda datus, saglabā šodienas datus un dzēš visus datus no iepriekšējiem datumiem.

Neapstrādāti dati šajā piemērā ietver datumu, aģenta vārdu un atsevišķā aģenta pārdošanas apjomu konkrētajā datumā.

Lai palaistu makro, noklikšķiniet uz pogas galvenajā lapā vai arī to var palaist, nospiežot īsinājumtaustiņus Alt + F8.

Makro izdzēsīs visus ierakstus ar iepriekšējiem datumiem. Tā kā mēs izpildām šo makro 2016. gada 14. decembrī, izvade atspoguļos ierakstus tikai par šo datumu.

Loģisks skaidrojums

Šajā piemērā mēs esam izveidojuši makro “RemovePreviousData”. Šis makro izmanto reverso FOR cilpu, tas nozīmē, ka cilpa darbojas pretējā virzienā. Cilpa sākas no pēdējās rindas un virzās uz augšējo rindu.

Reversās cilpas izmantošanas iemesls ir tāds, ka, ja mēs būtu izmantojuši parasto FOR cilpu, tad pēc katras rindas dzēšanas datos esošie ieraksti būtu pārvietoti uz augšu, kā rezultātā mainītu pozīciju ar katru rindas dzēšanu. Tātad, lai to novērstu, mēs esam izmantojuši reverso cilpu.

Mēs esam izmantojuši Step paziņojumu kopā ar FOR cilpu, lai veiktu cilpas pretējā virzienā. FOR cilpa sākas no pēdējās rindas un virzās uz 11tūkst rinda.

Lūdzu, sekojiet tālāk norādītajam kodam

 Opcija Explicit Sub RemovePreviousData () Dim Counter, LastRow As Integer 'Pēdējās rindas rindas numura atrašana LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell). Rinda' Cilpa no pēdējās rindas uz 11. rindu For Counter = LastRow To 11 1. darbība, ja šūnas (skaitītājs, 1). Vērtība <Datums pēc tam 'Rindas rindu dzēšana (skaitītājs). Dzēst beigas, ja nākamā skaitītāja beigas 

Ja jums patika šis emuārs, kopīgojiet to ar saviem draugiem Facebook. Varat arī sekot mums Twitter un Facebook.

Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot savu darbu un padarīt to labāku jums. Rakstiet mums e -pasta vietnē