En este artículo, crearemos una macro para eliminar datos de fechas anteriores. Esta macro verifica los datos, conserva los datos de hoy y borra todos los datos de fechas anteriores.

Los datos sin procesar en este ejemplo consisten en la fecha, el nombre del agente y las ventas del agente individual en esa fecha en particular.

ArrowRawData

Para ejecutar la macro, haga clic en el botón en la hoja «Principal» o incluso se puede ejecutar presionando las teclas de acceso directo Alt + F8.

Macro eliminará todos los registros con fechas anteriores. Cuando ejecutamos esta macro el 14 de diciembre de 2016, la salida reflejará los registros solo para esa fecha.

ArrowAfterRunningMacro

[_GoBack] # Explicación lógica En este ejemplo, hemos creado la macro «RemovePreviousData». Esta macro utiliza un bucle FOR inverso, lo que significa que el bucle se ejecuta en dirección opuesta. El bucle comienza desde la última fila y se mueve hacia la fila superior.

La razón para usar el bucle inverso es que si hubiéramos usado el bucle FOR normal, luego de cada eliminación de fila, los registros presentes en los datos se habrían movido hacia arriba, lo que resultaría en un cambio de posición con cada eliminación de fila. Entonces, para contrarrestar eso, hemos usado un bucle inverso.

Hemos utilizado la instrucción Step junto con el bucle FOR para realizar un bucle en la dirección inversa. El bucle FOR comienza desde la última fila y avanza hacia la 11ª fila.

Siga el código a continuación

Option Explicit

Sub RemovePreviousData()

Dim Counter, LastRow As Integer

'Finding the row number of last row

LastRow = ActiveSheet.Range("A1").SpecialCells(xlLastCell).Row

'Looping from last row to 11th row

For Counter = LastRow To 11 Step -1

If Cells(Counter, 1).Value < Date Then

'Deleting the row

Rows(Counter).Delete

End If

Next Counter

End Sub

Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]