Eliminar las filas vacías de una tabla en Microsoft Excel usando VBA

Escrito por Administrador

12 de diciembre de 2023

Hoy vamos a ver cómo eliminar las filas vacías de una tabla en Microsoft Excel usando VBA.

Para ello he preparado el ejemplo que os muestro a continuación,

saber-usuarios-conectados-base-datos

Como veis, hay varías filas vacías. La idea es eliminarlas completamente al pulsar el botón que se encuentra encima de la tabla.

A continuación, os comparto el código del botón.

Nota.- Este código sólo comprueba que se encuentre vacía la primera columna, pero puedes adaptarlo a tus necesidades. Si tuvieses cualquier problema, solo tienes que escribirlo en los comentarios o abrir un hilo en el foro.

Sub Eliminar_filas_vacias()

'Identificamos la última fila con datos

h = Cells(Rows.Count, 1).End(xlUp).Offset(0, 0).Row

'Nos posicionamos en el primer registro

Cells(3, "A").Select

'Iniciamos un bucle eliminando las filas vacías

For i = 3 To h

If ActiveCell.Value = "" Then

ActiveCell.EntireRow.Delete
ActiveCell.Offset(-1, 0).Select

Else
End If

'Recorremos una fila hacia abajo

ActiveCell.Offset(1, 0).Select

Next

End Sub

Si pulsamos el botón Eliminar filas vacías, automáticamente desaparecerán las filas vacías y nos quedaremos únicamente con las que contengan datos.

saber-usuarios-conectados-base-datos

Espero que con este ejemplo hayas aprendido a eliminar las filas vacías de una tabla en Microsoft Excel usando VBA.

Por último, quiero invitarte a compartir tus dudas en los comentarios o en el foro. Intentaré ayudarte en todo lo que pueda, y así aprenderemos todos.

Hasta la próxima.

Si te ha servido y quieres donar





Descarga el archivo del ejemplo

2 Comentarios

  1. Excelente amistad, consulta como se hace si tengo una tabla donde la primera fila tengo una formula y deseo limpiar la tabla de tal manera que me quede solo el encabezado con la primera fila sin borrar la formula

    Responder
    • Hola Claudio,

      Prueba con el siguiente código:

      Range("celdainicial:celdafinal").SpecialCells(xlCellTypeConstants).Select
      Selection.ClearContents

      Debes sustituir celdainicial y celdafinal por las celdas de inicio y fin de tu rango.

      Saludos.

      Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Últimas publicaciones

Categorías

diciembre 2024
LMXJVSD
 1
2345678
9101112131415
16171819202122
23242526272829
3031 

Debates en el foro

Contacto