¿Cómo eliminar varias columnas vacías rápidamente en Excel?
A veces, cuando importas datos a Microsoft Excel desde una página web, CSV, texto, etc., puede haber muchas columnas vacías junto con los datos. Sería muy lento eliminar cada columna vacía una por una. Por eso, algunos de nosotros buscamos formas fáciles de resolver este problema. Este artículo recopila algunos trucos para ayudarte a eliminar múltiples columnas vacías rápidamente.
Eliminar múltiples columnas vacías en la hoja de cálculo con fórmula
Eliminar múltiples columnas vacías en la hoja de cálculo con código VBA
Eliminar múltiples columnas vacías con un encabezado utilizando código VBA
Eliminar múltiples columnas vacías en la hoja de cálculo con fórmula
En Excel, puedes aplicar una fórmula para identificar si las columnas están en blanco o no, y luego usar la función Ordenar para agrupar todas las columnas en blanco juntas y eliminarlas de una vez. Haz lo siguiente:
1. Agrega una nueva fila en la parte superior de tu área de datos, como se muestra en la captura de pantalla:
2. Luego, introduce la siguiente fórmula en la celda A1, y arrastra el controlador de relleno hacia la derecha para aplicar esta fórmula a otras celdas; se mostrará VERDADERO si la columna está en blanco, de lo contrario, se mostrará FALSO, como se ve en la captura de pantalla:
3. Luego, selecciona el rango de datos incluyendo la fila auxiliar, y haz clic en "Datos" > "Ordenar", como se muestra en la captura de pantalla:
4. En el cuadro de diálogo "Ordenar" que aparece, haz clic en el botón "Opciones", en el cuadro de diálogo "Opciones de ordenación", selecciona la opción "Ordenar de izquierda a derecha", como se muestra en las capturas de pantalla:
![]() | ![]() | ![]() |
5. Haz clic en Aceptar para volver al cuadro de diálogo "Ordenar", luego selecciona "Fila 1" en la lista desplegable "Ordenar por", y selecciona "Valores de celda" en la sección "Ordenar por", elige "De mayor a menor" en la sección "Orden", como se muestra en la captura de pantalla:
6. Luego, todas las columnas vacías se habrán ordenado a la izquierda de tus datos, y ahora solo necesitas seleccionar todas las columnas, hacer clic derecho y elegir "Eliminar" para eliminar estas columnas en blanco de una vez, como se muestra en la captura de pantalla:
Eliminar múltiples columnas vacías en la hoja de cálculo con código VBA
Si prefieres usar una macro VBA, todo será mucho más fácil. El siguiente código VBA puede ayudarte, sigue estos pasos:
1. Mantén presionadas las teclas "Alt + F11" en Excel, y se abrirá la ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo", y pega la siguiente macro en la Ventana de Módulo.
Código VBA: Eliminar múltiples columnas en blanco en la selección:
Sub DeleteEmptyColumns()
'Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = InputRng.Columns.Count To 1 Step -1
Set rng = InputRng.Cells(1, i).EntireColumn
If Application.WorksheetFunction.CountA(rng) = 0 Then
rng.Delete
End If
Next
Application.ScreenUpdating = True
End Sub
3. Presiona la tecla F5 para ejecutar esta macro, selecciona el rango de trabajo que necesitas en el cuadro de diálogo emergente. Ver captura de pantalla:
4. Haz clic en Aceptar, y todas las columnas vacías en la selección se eliminarán. Ver captura de pantalla:
Eliminar múltiples columnas vacías en el rango seleccionado / hoja activa / libro completo con Kutools para Excel
La utilidad Eliminar filas (visibles) y columnas ocultas de Kutools para Excel puede ayudarte a eliminar rápidamente múltiples filas o columnas vacías de una vez.
Después de instalar Kutools para Excel, sigue estos pasos:
1. Haz clic en "Kutools" > "Eliminar" > "Eliminar filas (visibles) y columnas ocultas", como se muestra en la captura de pantalla:
2. En el cuadro de diálogo "Eliminar filas (visibles) y columnas ocultas", especifica el ámbito donde deseas aplicar la operación en la lista desplegable "Buscar en". (Si eliges En el rango seleccionado, debes seleccionar primero un rango que quieras usar.) Luego marca "Columnas" bajo "Tipo de eliminación". Y selecciona "Columnas en blanco" en "Tipo detallado". Ver captura de pantalla:
3. Luego haz clic en Aceptar. Y las columnas en blanco se habrán eliminado del rango seleccionado. Ver captura de pantalla:
Eliminar múltiples columnas vacías con un encabezado utilizando código VBA
A veces, es posible que desees eliminar todas las columnas vacías que contienen solo un encabezado en la hoja de cálculo; el siguiente código VBA puede ayudarte, sigue estos pasos:
1. Mantén presionadas las teclas "Alt + F11" en Excel, y se abrirá la ventana "Microsoft Visual Basic para Aplicaciones".
2. Haz clic en "Insertar" > "Módulo", y pega la siguiente macro en la Ventana de Módulo.
Código VBA: Eliminar todas las columnas vacías con un encabezado
Sub deleteblankcolwithheader()
'updateby Extendoffice
Dim xEndCol As Long
Dim I As Long
Dim xDel As Boolean
On Error Resume Next
xEndCol = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
If xEndCol = 0 Then
MsgBox "There is no data on """ & ActiveSheet.Name & """ .", vbExclamation, "Kutools for Excel"
Exit Sub
End If
Application.ScreenUpdating = False
For I = xEndCol To 1 Step -1
If Application.WorksheetFunction.CountA(Columns(I)) <= 1 Then
Columns(I).Delete
xDel = True
End If
Next
If xDel Then
MsgBox "All blank column(s) with only a header row have been deleted.", vbInformation, "Kutools for Excel"
Else
MsgBox "There are no Columns to delete as each one has more data (rows) than just a header.", vbExclamation, "Kutools for Excel"
End If
Application.ScreenUpdating = True
End Sub
3. Luego presiona la tecla F5 para ejecutar este código, y aparecerá un cuadro de mensaje para recordarte que las columnas vacías con encabezado serán eliminadas, ver captura de pantalla:
4. Luego, haz clic en el botón Aceptar, y todas las columnas vacías con solo encabezado en la hoja de cálculo actual se eliminarán de una vez. Ver capturas de pantalla:
![]() | ![]() | ![]() |
Más artículos relacionados:
- Eliminar todas las filas o columnas ocultas en Excel
- Si tienes un libro grande con muchas filas y columnas ocultas, y los datos ocultos ya no son útiles, podrías querer eliminarlos todos. ¿Cómo eliminarlos rápidamente?
- Eliminar todas las imágenes u otros objetos en Excel
- Si deseas eliminar todas las imágenes de Microsoft Excel, podría llevar mucho tiempo seleccionar cada imagen y eliminarlas una por una. Los siguientes trucos pueden facilitar tu trabajo para eliminar todas las imágenes.
- Eliminar filas según el color de fondo en Excel
- ¿Cómo eliminar filas enteras basadas en el color de fondo? En este ejemplo, necesito eliminar todas las filas cuyas celdas están rellenas con un color de fondo azul, como se muestra en la siguiente captura de pantalla. Con este artículo, obtendrás algunos códigos para lograr esta tarea en Excel.
- Eliminar todas las filas que contienen texto específico dentro de una columna en Google Sheets
- Supongamos que tienes un rango de datos en una hoja de Google, y ahora quieres eliminar las filas basadas en los valores de las celdas en una columna. Por ejemplo, quiero eliminar todas las filas que contienen el texto "Completado" en la columna C. En este artículo, hablaré sobre cómo resolverlo en Google Sheets.
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!