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

noviembre 2024
LMXJVSD
 123
45678910
11121314151617
18192021222324
252627282930 

Debates en el foro

Contacto