Ștergeți toate celulele cu date de la datele anterioare folosind VBA

Anonim

În acest articol, vom crea o macrocomandă pentru a șterge datele din datele anterioare. Această macrocomandă verifică datele, păstrează datele de astăzi și șterge toate datele de la datele anterioare.

Datele brute din acest exemplu constau în data, numele agentului și vânzările agentului individual la acea dată anume.

Pentru a rula macro-ul, faceți clic pe butonul de pe foaia „Main” sau chiar îl puteți rula apăsând tastele rapide Alt + F8.

Macro va șterge toate înregistrările cu datele anterioare. Pe măsură ce rulăm această macrocomandă la 14 decembrie 2016, rezultatul va reflecta înregistrările numai pentru acea dată.

Explicație logică

În acest exemplu, am creat macrocomanda „RemovePreviousData”. Această macrocomandă folosește bucla FOR inversă, înseamnă că bucla rulează în direcție opusă. Bucla începe de la ultimul rând și se deplasează spre rândul de sus.

Motivul utilizării buclei inverse este că, dacă am fi folosit bucla normală FOR, atunci după fiecare ștergere a rândului, înregistrările prezente în date s-ar fi deplasat în sus, rezultând schimbarea poziționării cu fiecare ștergere a rândului. Deci, pentru a contracara acest lucru, am folosit o buclă inversă.

Am folosit instrucțiunea Step împreună cu bucla FOR pentru buclarea în direcția inversă. Bucla FOR începe de la ultimul rând și se apropie de 11a rând.

Vă rugăm să urmați codul de mai jos

 Opțiune Explicit Sub RemovePreviousData () Dim Counter, LastRow as Integer 'Găsirea numărului rândului ultimului rând LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell). 11 Pasul -1 Dacă celulele (Contor, 1). Valoare <Data Apoi „Ștergerea rândurilor rândului (Contor). Ștergeți sfârșitul Dacă următorul contor sfârșit Sub 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail