Elimine todas las celdas con datos de fechas anteriores usando VBA

Anonim

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.

Para ejecutar la macro, haga clic en el botón en la hoja "Principal" o incluso se puede ejecutar presionando las teclas de método abreviado 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.

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 desplazado hacia arriba, lo que habría provocado 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 en la última fila y avanza hacia el 11th hilera.

Siga a continuación para obtener el código

 Option Explicit Sub RemovePreviousData () Dim Counter, LastRow As Integer 'Encontrar el número de fila de la última fila LastRow = ActiveSheet.Range ("A1"). SpecialCells (xlLastCell) .Row' Bucle de la última fila a la undécima fila para Counter = LastRow To 11 Paso -1 Si Celdas (Contador, 1) .Valor <Fecha Luego 'Eliminando la fila Filas (Contador) .Eliminar Fin si Siguiente Contador Fin Sub 

Si te gustó este blog, compártelo con tus amigos en Facebook. Además, puede seguirnos en Twitter y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos al sitio de correo electrónico