Note: The other languages of the website are Google-translated. Back to English

¿Cómo eliminar columnas enteras según el valor del encabezado en Excel?

En muchos casos, es posible que deba eliminar todas las columnas según el valor del encabezado en Excel. Por ejemplo, debe eliminar todas las columnas que contienen el valor "antiguo" en el encabezado. En este tutorial, le mostraremos métodos para eliminar columnas enteras según el valor del encabezado en detalles.

Elimine columnas enteras según el valor del encabezado con código VBA
Elimine columnas enteras según el valor del encabezado con Kutools para Excel


Elimine columnas enteras según el valor del encabezado con código VBA

Puede eliminar columnas enteras según el valor del encabezado con código VBA. Haz lo siguiente.

1. Prensa otro + F11 teclas simultáneamente para abrir el Aplicación Microsoft Visual Basic ventana.

2. En el Aplicación Microsoft Visual Basic ventana, haga clic recuadro > Módulo. Y luego copie y pegue el código siguiente en la ventana del Módulo.

Código de VBA: elimine columnas enteras según el valor del encabezado

Sub DeleteSpecifcColumn()
	Set MR = Range("A1:D1")
	For Each cell In MR
		If cell.Value = "old" Then cell.EntireColumn.Delete
	Next
End Sub

Notas:

1) en el código, "los ancianos ”Es el valor del encabezado en el que desea eliminar toda la columna. Cambie el valor de su encabezado manualmente. Y A1: D1 es el rango de columnas que desea utilizar.
2) Este código distingue entre mayúsculas y minúsculas.

3. presione el F5 para ejecutar el código, la columna completa con un encabezado igual al texto especificado se eliminará inmediatamente.


Elimine columnas enteras según el valor del encabezado con Kutools para Excel

Con Kutools for Excel, Seleccionar celdas específicas utilidad, puede seleccionar fácilmente todas las columnas que contienen el valor de encabezado determinado primero y luego eliminar estas columnas seleccionadas a la vez. Haz lo siguiente.

Antes de aplicar Kutools for Excel, Por favor descargarlo e instalarlo en primer lugar.

1. Seleccione el rango que contiene las columnas que necesita eliminar y luego haga clic en Kutools > Seleccione > Seleccionar celdas específicas. Ver captura de pantalla:

2. En el Seleccionar celdas específicas cuadro de diálogo, seleccione el Toda la columna opción en el Tipo de selección sección, y en la Tipo específico lista desplegable, seleccione Equivale opción, luego escriba el valor del encabezado en el siguiente cuadro. Y finalmente haga clic en el OK botón. Ver captura de pantalla:

3. Haga clic en el OK en otro cuadro de diálogo emergente, las columnas que contienen el valor de encabezado especificado se seleccionan inmediatamente.

4. Haga clic con el botón derecho en el encabezado de la columna seleccionada y luego haga clic en Borrar desde el menú contextual. Luego, todas las columnas seleccionadas se eliminan a la vez.

  Si desea tener una prueba gratuita (30-día) de esta utilidad, haga clic para descargarloy luego vaya a aplicar la operación según los pasos anteriores.


Las mejores herramientas de productividad de oficina

Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%

  • Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.
pestaña kte 201905

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comentarios (12)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
Lo siento si esto parece muy básico, pero esta es la primera vez que pruebo vba. Usando esto, ¿cómo lo aplicaría para eliminar varios encabezados de columna? De hecho, estoy tratando de mantener solo ciertas columnas de encabezado y eliminar el resto de una lista cambiante.
Este comentario fue minimizado por el moderador en el sitio
En el primer código, simplemente copie la cuarta fila y cambie el "antiguo" por el nombre de la segunda columna y funcionará
Este comentario fue minimizado por el moderador en el sitio
¡Oye! Esto funciona bien hasta que tenga dos columnas contiguas con el mismo encabezado. Digamos que su rango es A1:A5, y A2 y A3 tienen el encabezado 'antiguo'. Eliminará A2, pero luego A3 se moverá al lugar que solía ocupar A2, y el código lo omitirá, ya que estará mirando el nuevo A3, la siguiente celda en su rango.
Este comentario fue minimizado por el moderador en el sitio
Hola Elias,
Como mencionaste, A2 y A3 tienen el mismo encabezado "antiguo". Pero están en la misma columna, después de aplicar el código, toda la columna A se eliminará de inmediato.
No estoy seguro de entender tu punto. Sería bueno si pudiera proporcionar una captura de pantalla de lo que está tratando de hacer.
Este comentario fue minimizado por el moderador en el sitio
Hola, ¿es posible hacer esto con varios nombres de columna?
Este comentario fue minimizado por el moderador en el sitio
Hola Marcos,
Pruebe el siguiente código. En la octava línea, incluya el nombre de cada columna entre comillas dobles y sepárelos con comas. Espero poder ayudar. Gracias.

Sub DeleteSpecifcColumn()

Dim xFNum, xFFNum, xCount como entero

Dim xStr como cadena

Dim xArrName como variante

Dim MR, xRg como rango

On Error Resume Next

Establecer MR = Rango ("A1:N1")

xArrName = Array("antiguo", "nuevo", "obtener") 'escriba cada nombre de columna con comillas dobles y sepárelos con comas

xCuenta = MR.Cuenta

xStr = xArrNombre(xFNum)

Para xFFNum = xCuenta a 1 Paso -1

Establecer xRg = Celdas (1, xFFNum)

Para xFNum = 0 Para UBound(xArrName)

xStr = xArrNombre(xFNum)

Si xRg.Value = xStr Entonces xRg.EntireColumn.Delete

Siguiente xFNum

Siguiente

End Sub
Este comentario fue minimizado por el moderador en el sitio
Creo que la línea 12 debe cambiarse para que el código funcione. Línea original 12 "Establecer xRg = Cells(1, xFFNum)" línea modificada 12 "Establecer xRg = MR(1, xFFNum)"
Sub DeleteSpecifcColumn()
Dim xFNum, xFFNum, xCount como entero
Dim xStr como cadena
Dim xArrName como variante
Dim MR, xRg como rango
On Error Resume Next
Establecer MR = Rango ("A1:N1")
xArrName = Array("antiguo", "nuevo", "obtener") 'escriba cada nombre de columna con comillas dobles y sepárelos con comas
xCuenta = MR.Cuenta
xStr = xArrNombre(xFNum)
Para xFFNum = xCuenta a 1 Paso -1
Establecer xRg = MR(1, xFFNum)
Para xFNum = 0 Para UBound(xArrName)
xStr = xArrNombre(xFNum)
Si xRg.Value = xStr Entonces xRg.EntireColumn.Delete
Siguiente xFNum
Siguiente
End Sub
Este comentario fue minimizado por el moderador en el sitio
¿Qué sucede si los encabezados comienzan desde la cuarta fila?
Este comentario fue minimizado por el moderador en el sitio
El ejemplo de VBA indica que el código eliminará todas las columnas cuyos encabezados CONTIENEN "antiguo". Ese no es el caso. El operador = solo eliminará las coincidencias exactas. Debe usar el operador LIKE con un comodín.
Código fijo: Sub DeleteSpecifcColumn ()
Establecer MR = Rango ("A1: D1")
Para cada celda en MR
Si cell.Value LIKE "old*" Entonces cell.EntireColumn.Delete
Siguiente
End Sub

Este comentario fue minimizado por el moderador en el sitio
Hola, gracias por tu corrección y compartir. 
Este comentario fue minimizado por el moderador en el sitio
Hola, tengo una hoja de excel con varios datos, digamos 4 columnas y 12 filas, me gustaría poder imprimir cada fila en un folio separado en una plantilla, es decir, tenemos una hoja con varios nombres y apellidos y teléfono, quiero imprimir tantas páginas como filas tenga la hoja de excel, inte tado varias cosas pero no encuentro la forma. Gracias de antemano
Este comentario fue minimizado por el moderador en el sitio
Hola,
Si desea imprimir cada fila en una página separada en la hoja de trabajo, aquí hay una sugerencia de que inserte saltos de página cada 1 fila y luego imprímalos.
Los métodos proporcionados en este artículo pueden hacerle un favor. Por favor, inténtalo. Gracias.
¿Cómo insertar un salto de página cada X filas en Excel?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL