¿Cómo eliminar de una lista las filas que tienen celdas en blanco?

Tengo el siguiente formato de archivo

Y última celda con datos es prácticamente la A1000000 o sea toda la hoja

Utilizo la siguiente macro pero no sé si haya una manera más rápida de hacerlo

Sub EliminarFilas()
Do While ActiveCell <> "Final"
    If ActiveCell = "" Then
        ActiveCell.EntireRow.Delete
        ActiveCell.Offset(-1, 0).Select
    Else
    End If
    ActiveCell.Offset(1, 0).Select
Loop
End Sub

3 respuestas

Respuesta
1

.18/08/16

Buenas, Ramón

Prueba esta que no se desplaza entre celdas, no necesita el palabra "Final" y no refresca pantalla:

Sub DeleFila()
'Ramón, cambia aqu la columna donde están los datos, si fuese otra:
Coldatos = "A"
'Aplication.ScreenUpdating = False
UltFila = ActiveSheet.UsedRange.Rows.Count
For LaFila = UltFila To 1 Step -1
    LaCelda = Coldatos & LaFila
    If IsEmpty(Range(LaCelda)) Then
        Range(LaCelda).EntireRow.Delete
        Cont = Cont + 1
    End If
Next
MsgBox "Listo! " & Chr(10) & "Se eliminaron " & Cont & " lineas", vbInformation, "TERMINADO"
End Sub

Luego me dirás si te sirvió.

Un abrazo

Fernando

.

.

Buenas, de nuevo

Había dejado anulada la línea que evita el refresco de pantalla, para probar el funcionamiento.

Usa esta versión para que sea más veloz:

Sub DeleFila()
'Ramón, cambia aqu la columna donde están los datos, si fuese otra:
Coldatos = "A"
Application.ScreenUpdating = False
UltFila = ActiveSheet.UsedRange.Rows.Count
For LaFila = UltFila To 1 Step -1
    LaCelda = Coldatos & LaFila
    If IsEmpty(Range(LaCelda)) Then
        Range(LaCelda).EntireRow.Delete
        Cont = Cont + 1
    End If
Next
MsgBox "Listo! " & Chr(10) & "Se eliminaron " & iif(Cont,Cont & " lineas"," NINGUNA linea."), vbInformation, "TERMINADO"
End Sub

Espero acelere tu tarea

Abrazo

Fernando

Respuesta

Para eliminar celdas en blanco en Excel tenemos varias opciones para hacerlo, las cuales menciono a continuación:

  • Opción 1: Seleccionar celda por celda y borrarlas individualmente, pero si tienes miles de filas se convertirá en una tarea complicada.
  • Opción 2: Puedes ordenar alfabéticamente la columna, lo cual colocará todas las celdas en blanco juntas y las podrás eliminar. Sin embargo, si quieres mantener el orden de la lista, entonces no es la opción que buscas.
  • Opción 3: Puedes filtrar la lista por blancos y seleccionar las celdas en blanco para poder borrarlas.
  • Opción 4: Puedes utilizar el atajo que te mostraré a continuación:

Alternativa para eliminar celdas en blanco

Selecciona la columna que contiene las celdas en blanco:

Presiona F5 y se mostrará el cuadro de diálgo Ir a

Haz clic en el botón Especial y se mostrará el cuadro de diálogo Ir a Especial

Selecciona la opción Celdas en blanco y haz clic en Aceptar. Esto seleccionará automáticamente todas las celdas en blanco de la columna ó del rango que se había seleccinado previamente. Una vez que las celdas en blanco están seleccionadas puedes eliminarlas fácilmente con la tecla Suprimir.

Respuesta

Aquí te presento otra opción también sencilla siempre y cuando no haya datos 'duplicados' en tu columna (así se observa en tu imagen).

Selecciona la col de datos y desde menú Datos, Quitar duplicados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas