Como eliminar filas vacias o recorrer celdas de abajo hacia arriba





En este post se mostrará algo bastante común y es la manera de recorrer las filas de la hoja de Excel y eliminar filas vacías. En este ejemplos se aprenderá como realizar un bucle para recorrer las filas de una hoja de Excel, a su vez evaluará si la fila se encuentra vacía en ese caso la eliminará.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Para eliminar las filas vacías el ejemplo propone recorrer las filas de abajo hacia arriba, es decir primero determinará cual es la última fila con datos, en base a ello hará un bucle de dese la primer a la última fila con datos, en cada recorrido por la filas, evaluará si la fila que en ese momento recorrer el bucle y la columna A es vacía o dicho de otro modo no contienen datos, en ese caso eliminará la fila completa, el código usado en el ejemplo es el siguiente:

If a.Cells(x, "A") = Empty Then a.Cells(x, "A").EntireRow.Delete

El objeto de eliminar de abajo hacia arriba, es porque si recorremos de arriba hacia abajo las filas, encontrar una fila vacía la eliminará, pasando la fila siguiente a ocupar el número de fila actual, luego el bucle seguirá con la próxima fila, pero la fila siguiente al tomar la posición de la fila actual no se evaluará y si por ejemplo estaba vacía no será tenida en cuenta; cosa que no sucede eliminando de abajo hacia arriba.

Desde el final del link se puede descargar el ejemplo denominado como eliminar filas vacías o recorrer celdas de abajo hacia arriba, no contiene restricción alguna, siendo libre su uso.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo Recorre fila buscando y comparando datos de dos columnas en hojas distintasbuscar en listbox mientras escribes en textbox, como crear una factura o sale invoice y grabar guardar PDF XLS y enviar por mailconectar Excel con Access y muchos ejemplos más.










Código que se inserta en un módulo




Sub RecorrerFilasdesdeAbajohaciaArriba()
Dim Tex As Variant, Car As Variant, Lar As Integer
Application.ScreenUpdating = False
On Error Resume Next
Set a = Sheets("Hoja1")
uf = Range("A" & Rows.Count).End(xlUp).Row
For x = uf To 2 Step -1
If a.Cells(x, "A") = Empty Then a.Cells(x, "A").EntireRow.Delete
Next x
Application.ScreenUpdating = True
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends