Cómo eliminar columnas en blanco en Excel

wrong way delete empty columns

En este tutorial, aprenderás a eliminar columnas vacías en Excel utilizando un macro, una fórmula y un simple clic.

Puede parecer algo sencillo, pero eliminar columnas vacías en Excel no se puede hacer con un solo clic. La idea de revisar manualmente cada columna de tu hoja de cálculo y eliminar las que están vacías no es muy atractiva. Afortunadamente, Excel tiene muchas características útiles y, si las utilizas de manera creativa, puedes resolver casi cualquier problema.

Método rápido para eliminar columnas vacías que deberías evitar

Cuando se trata de eliminar celdas vacías (ya sean vacías, filas o columnas), muchos recursos en línea sugieren usar el comando Ir a Especial > Blanks. ¡No lo hagas en tus hojas de cálculo!

Este método (F5 > Especial… > Blanks) selecciona todas las celdas vacías en el rango:

Si haces clic derecho en las celdas seleccionadas y eliges Eliminar > Columna entera, ¡se perderán todas las columnas que contengan al menos una celda vacía! Si accidentalmente realizaste esto, presiona Ctrl + Z para revertirlo.

Ahora que conoces un método incorrecto para eliminar columnas vacías en Excel, veamos cómo hacerlo correctamente.

Eliminar columnas vacías en Excel con VBA

Los usuarios experimentados de Excel tienen un consejo: en lugar de perder horas haciendo algo manualmente, dedica unos minutos a escribir un macro que lo haga automáticamente.

El macro VBA que verás a continuación elimina todas las columnas vacías en el rango seleccionado. Además, lo hace de manera segura: solo se eliminarán las columnas que estén totalmente vacías. Si una columna tiene al menos un valor, incluso si es una cadena vacía producida por una fórmula, esa columna se mantendrá.

Macro de Excel: eliminar columnas vacías de la hoja de Excel

Public Sub DeleteEmptyColumns()
Dim SourceRange As Range
Dim EntireColumn As Range

On Error Resume Next

Set SourceRange = Application.InputBox( _
«Selecciona un rango:», «Eliminar columnas vacías», _
Application.Selection.Address, Type:=8)

If Not (SourceRange Is Nothing) Then
Application.ScreenUpdating = False

For i = SourceRange.Columns.Count To 1 Step -1
Set EntireColumn = SourceRange.Cells(1, i).EntireColumn
If Application.WorksheetFunction.CountA(EntireColumn) = 0 Then
EntireColumn.Delete
End If
Next

Application.ScreenUpdating = True
End If
End Sub

Usando el macro para eliminar columnas vacías

Sigue estos pasos para agregar el macro a tu Excel:

  1. Presiona Alt + F11 para abrir el Editor de Visual Basic.
  2. En la barra de menú, haz clic en Insertar > Módulo.
  3. Pega el código anterior en la ventana del código.
  4. Presiona F5 para ejecutar el macro.
  5. Cuando aparezca el cuadro de diálogo emergente, cambia a la hoja de cálculo deseada, selecciona el rango y haz clic en Aceptar:

Si no quieres agregar un macro a tu hoja de cálculo, puedes ejecutarlo desde nuestro libro de trabajo de ejemplo. Aquí te explico cómo:

  1. Descarga nuestro libro de trabajo de ejemplo para eliminar columnas vacías en Excel, ábrelo y habilita el contenido si se te solicita.
  2. Abre tu propio libro de trabajo o cambia al que ya tienes abierto.
  3. En tu libro de trabajo, presiona Alt + F8, selecciona el macro DeleteEmptyColumns y haz clic en Ejecutar.
  4. En el cuadro de diálogo emergente, selecciona el rango y haz clic en OK.

De cualquier forma, todas las columnas vacías en el rango seleccionado serán eliminadas.

Identificar y eliminar columnas vacías en Excel con una fórmula

El macro anterior elimina columnas vacías de manera rápida y silenciosa. Sin embargo, si eres de esos que prefieren tener todo bajo control, tal vez quieras visualizar las columnas que se eliminarán. En este caso, usaremos una fórmula para identificar las columnas vacías, permitiéndote revisarlas antes de eliminarlas.

Nota. Antes de eliminar cualquier cosa permanentemente, especialmente utilizando una técnica que no conoces, te recomiendo hacer una copia de seguridad de tu libro de trabajo, por si algo sale mal.

Con una copia de seguridad lista, sigue estos pasos:

Paso 1. Inserta una nueva fila

Agrega una nueva fila en la parte superior de tu tabla. Haz clic derecho en el encabezado de la primera fila y selecciona Insertar. No te preocupes, puedes eliminar esta fila más tarde.

Paso 2. Identifica las columnas vacías

En la celda más a la izquierda de la nueva fila, introduce la siguiente fórmula:

=COUNTA(A2:A1048576)=0

Luego, copia la fórmula hacia las otras columnas arrastrando el controlador de relleno.

La lógica de esta fórmula es simple: COUNTA cuenta el número de celdas no vacías en la columna, desde la fila 2 hasta la fila 1048576, que es el máximo en Excel 2019 – 2007. Compara ese número con cero, obteniendo TRUE para las columnas vacías y FALSE para aquellas que tienen al menos una celda no vacía. Gracias a las referencias de celdas relativas, la fórmula se ajustará correctamente para cada columna donde se copie.

Si estás configurando la hoja para alguien más, quizás quieras etiquetar las columnas de manera más clara. Puedes hacerlo fácilmente con una declaración IF similar a esta:

=IF(COUNTA(A2:A1048576)=0, "Vacío", "No vacío")

Ahora la fórmula indica explícitamente cuáles columnas están vacías y cuáles no:

Consejo. Comparado con un macro, este método te brinda más flexibilidad en cuanto a qué columnas considerar como vacías. En este ejemplo, revisamos toda la tabla, incluyendo la fila de encabezados. Esto significa que si una columna solo tiene un encabezado, no se considera vacía y no se eliminará. Si deseas revisar solo las filas de datos ignorando los encabezados, elimina la(s) fila(s) de encabezado del rango objetivo (A3:A1048576). Así, una columna que tiene un encabezado y no tiene otros datos se considerará vacía y será candidata a eliminación.

Paso 3. Elimina las columnas vacías

Con un número razonable de columnas, simplemente selecciona aquellas que tengan «Vacío» en la primera fila (manteniendo la tecla Ctrl mientras haces clic en las letras de las columnas para seleccionar varias). Luego, haz clic derecho en cualquier columna seleccionada y elige Eliminar del menú contextual.

Si tienes decenas o cientos de columnas en tu hoja de cálculo, vale la pena visualizar todas las vacías. Para ello, sigue estos pasos:

  1. Selecciona la fila superior con las fórmulas, ve a la pestaña Datos > grupo Ordenar y filtrar, y haz clic en el botón Ordenar.
  2. En el cuadro de advertencia que aparece, selecciona Expandir la selección, y haz clic en Ordenar…
  3. Esto abrirá el cuadro de diálogo Ordenar, donde haces clic en el botón Opciones…, seleccionas Ordenar de izquierda a derecha, y haces clic en OK.
  4. Configura un solo nivel de ordenación como se muestra a continuación y haz clic en OK:
    • Ordenar por: Fila 1
    • Ordenar en: Valores de celda
    • Ordenar: A a Z

    Como resultado, las columnas vacías se desplazarán hacia la parte izquierda de tu hoja de cálculo.

  5. Selecciona todas las columnas vacías: haz clic en la letra de la primera columna, mantén presionada la tecla Shift y luego haz clic en la letra de la última columna vacía.
  6. Haz clic derecho en las columnas seleccionadas y elige Eliminar del menú emergente.

Listo. Has eliminado las columnas vacías y ahora puedes borrar la fila superior con las fórmulas.

La forma más rápida de eliminar columnas vacías en Excel

Al inicio de este tutorial, mencioné que no hay una forma de un solo clic para eliminar columnas vacías en Excel. La verdad es que eso no es del todo cierto. Lo que quería decir es que no hay un método integrado. Sin embargo, los usuarios de nuestra Ultimate Suite pueden eliminar columnas vacías en Excel con solo un par de clics.

En la hoja de cálculo objetivo, cambia a la pestaña InformaticaCero Tools, haz clic en Eliminar vacíos y elige Columnas vacías.

Para asegurarte de que no fue un simple clic accidental, el complemento te pedirá que confirmes si realmente deseas eliminar las columnas vacías de esa hoja de trabajo:

Haz clic en OK, y en un momento, ¡todas las columnas vacías desaparecerán!

Al igual que el macro mencionado anteriormente, esta herramienta solo elimina aquellas columnas que están totalmente vacías. Las columnas que tienen al menos un valor, incluyendo encabezados, permanecen intactas.

El complemento Eliminar vacíos es solo una de las muchas características maravillosas que pueden facilitar tu vida como usuario de Excel. Si deseas conocer más, puedes descargar una versión de prueba de nuestra Ultimate Suite para Excel.

¡Las columnas vacías no se eliminan! ¿Por qué?

Problema: Has intentado todos los métodos anteriores, pero una o más columnas vacías permanecen en tu hoja de cálculo. ¿Por qué?

Lo más probable es que esas columnas no estén realmente vacías. Existen varios caracteres invisibles que pueden estar en tus hojas de Excel, especialmente si importaste información de una fuente externa. Puede ser una cadena vacía, un espacio en blanco, un espacio no separable u otro carácter no imprimible.

Para identificar el problema, selecciona la primera celda de la columna problemática y presiona Ctrl + flecha abajo. Por ejemplo, la columna C en la captura de pantalla a continuación no está vacía debido a un solo espacio en C6:

Haz doble clic en la celda para ver su contenido o simplemente presiona la tecla Suprimir para eliminar lo que no necesitas. Luego, repite el proceso para verificar si hay otros elementos invisibles en esa columna. También podrías querer limpiar tus datos, eliminando los espacios en blanco al principio, al final y los espacios no separables.

Deja un comentario