Kris tiene una hoja de trabajo donde hay una gran cantidad de filas en blanco en los datos. Está buscando una macro simple que elimine todas las filas que están totalmente en blanco.

Hay varias formas de realizar esta tarea. Las siguientes secciones examinan todas las ideas para deshacerse de esas filas problemáticas.

Selección de espacios en blanco

Una forma rápida de verificar dónde están los espacios en blanco es simplemente seleccionar espacios en blanco en sus datos. Siga estos pasos:

  1. Seleccione todos los datos con los que está trabajando.

  2. Presione F5. Excel muestra el cuadro de diálogo Ir a.

  3. Haga clic en Especial. Excel muestra el cuadro de diálogo Ir a especial. (Ver figura 1)

  4. Elija el botón de radio Blanks.

  5. Haga clic en Aceptar. Excel selecciona esas celdas en su rango inicial (paso 1)

que están en blanco.

  1. Muestre la pestaña Inicio de la cinta.

  2. Haga clic en la herramienta Eliminar. Excel elimina las filas.

Hay una gran advertencia al adoptar este enfoque: eliminará cualquier fila en la que alguna celda esté en blanco. En otras palabras, este enfoque es mejor si los únicos espacios en blanco en sus datos están en filas que realmente desea eliminar.

Si hay algunas celdas vacías intercaladas entre los datos que realmente desea conservar, no use este método, ya que también eliminará esas filas.

Sorting

Si sus datos no constan de muchas filas (digamos, solo diez columnas o menos), podría considerar simplemente ordenar los datos. Si incluye cada columna en su especificación de clasificación, terminará con las filas en blanco una al lado de la otra y podrá eliminarlas fácilmente.

Si hay muchas columnas en sus datos y no le importa agregar una columna auxiliar, puede deshacerse de las filas en blanco en una variación del método de clasificación. Digamos que sus datos están en la columna A a la P. En la columna Q, ingrese una de estas fórmulas:

=COUNTA(A1:P1)

=IF(COUNTBLANK(A1:P1)=16,"DELETE","")

No importa cuál uses; ambos le darán información con la que puede trabajar. En el caso de la fórmula COUNTA, simplemente necesita ordenar sobre la base de la columna Q y eliminar todo lo que tenga un 0 en esa columna.

En el caso de la fórmula CONTAR.BLANCO, querrá cambiar el valor equiparado (16) a la cantidad de columnas que tenga en cuenta la función CONTAR.BLANCO. (En este caso, 16 es el número de columnas en el rango A: P, inclusive). Después de que la fórmula esté en su lugar, puede ordenar por columna Q, luego simplemente elimine todas las filas que tienen la palabra «BORRAR» en esa columna .

Otra variación del enfoque de clasificación es simplemente usar las capacidades de filtrado de Excel para filtrar su lista para que contenga solo espacios en blanco en una de las columnas de datos. (Por ejemplo, puede filtrar los espacios en blanco en la columna A). Luego, puede ordenar las columnas restantes para tener filas enteras en blanco en un lugar y luego eliminar esas filas.

Macros

Si necesita eliminar filas en blanco con bastante frecuencia, entonces querrá considerar seriamente el uso de una macro para hacer el trabajo duro. Su macro podría agregarse fácilmente a la cinta o asignarse a una tecla de método abreviado para que pueda invocarla muy fácilmente.

Anteriormente en esta sugerencia mencioné que, si lo desea, puede usar el cuadro de diálogo Ir a especial para seleccionar celdas en blanco en el rango de sus datos y luego eliminar las filas en las que aparecen esas celdas en blanco. Puedes hacer lo mismo en una macro muy simple:

Sub DeleteBlanks()

Dim R As Range

Set R = Range("A1:" & ActiveCell.SpecialCells(xlLastCell).Address)

R.SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

Sin embargo, recuerde que esta macro eliminará cualquier fila en la que haya espacios en blanco, incluso si desea conservar otros datos que puedan estar en esa fila.

Un mejor enfoque sería hacer una verificación más completa en cada fila de la hoja de trabajo:

Sub DeleteBlankRows()

Dim lRows As Long     Dim J As Long

lRows = ActiveCell.SpecialCells(xlLastCell).Row     Application.ScreenUpdating = False     For J = lRows To 1 Step -1         If WorksheetFunction.CountA(Rows(J)) = 0 Then Rows(J).Delete     Next J     Application.ScreenUpdating = True End Sub

Tenga en cuenta que la macro determina la última celda utilizada en el libro de trabajo y establece el valor de lRows igual a la fila en la que aparece esa celda. Un bucle For …​ Next luego recorre cada fila (desde la última hasta la primera)

y usa la función CONTAR para determinar si hay algo en esa fila. De lo contrario, se elimina la fila.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (254) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365.