Elimina tutte le celle con dati di date precedenti utilizzando VBA

Anonim

In questo articolo, creeremo una macro per eliminare i dati delle date precedenti. Questa macro controlla i dati, conserva i dati di oggi ed elimina tutti i dati delle date precedenti.

I dati grezzi in questo esempio sono costituiti da data, nome dell'agente e vendite del singolo agente in quella data particolare.

Per eseguire la macro, fare clic sul pulsante nel foglio "Principale" o è anche possibile eseguirla premendo i tasti di scelta rapida Alt + F8.

La macro eliminerà tutti i record con date precedenti. Poiché eseguiamo questa macro il 14 dicembre 2016, l'output rifletterà i record solo per quella data.

Spiegazione logica

In questo esempio, abbiamo creato la macro "RemovePreviousData". Questa macro utilizza il ciclo FOR inverso, significa che il ciclo viene eseguito nella direzione opposta. Il ciclo inizia dall'ultima riga e si sposta verso la riga superiore.

Il motivo per l'utilizzo del ciclo inverso è che se avessimo usato il normale ciclo FOR, dopo ogni eliminazione di riga, i record presenti nei dati si sarebbero spostati verso l'alto, con conseguente cambio di posizionamento ad ogni eliminazione di riga. Quindi, per contrastare ciò, abbiamo usato il ciclo inverso.

Abbiamo usato l'istruzione Step insieme al ciclo FOR per eseguire il ciclo nella direzione inversa. Il ciclo FOR inizia dall'ultima riga e prosegue verso 11ns riga.

Si prega di seguire sotto per il codice

 Option Explicit Sub RemovePreviousData() Dim Counter, LastRow As Integer 'Ricerca del numero di riga dell'ultima riga LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row 'Looping dall'ultima riga all'11a riga For Counter = LastRow To 11 Passaggio -1 If Cells(Counter, 1).Value < Date Then 'Eliminazione delle righe Rows(Counter).Delete End If Next Counter End Sub 

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica