Columna de eliminación de VBA

Normalmente, en la hoja de trabajo de Excel tenemos dos métodos diferentes para eliminar columnas, uno es el método abreviado de teclado y otro usando el método de clic derecho e insertar, pero en VBA tenemos que usar el comando de eliminación y la declaración de columna completa para eliminar cualquier columna juntos, el truco para esto es que si necesitamos eliminar una sola columna, damos una referencia a una sola columna, pero para las columnas múltiples, damos referencias a múltiples columnas.

Columna de eliminación de Excel VBA

Realizamos muchas acciones en Excel como cortar, copiar, pegar, agregar, eliminar, insertar y muchas cosas similares que hacemos de forma regular. Podemos usar todas estas acciones usando la codificación VBA. Uno de los conceptos importantes que debemos aprender en VBA es la "columna de eliminación". En este artículo, le mostraremos cómo usar esta opción Eliminar columna en VBA.

¿Qué hace Delete Column en Excel VBA?

Como dice el nombre, eliminará la columna especificada. Para realizar esta tarea, primero debemos identificar qué columna debemos eliminar. La selección de columnas para eliminar es diferente de un escenario a otro, por lo que cubriremos algunos de los escenarios importantes y a menudo enfrentados en este artículo.

Eliminar las columnas es fácil. Primero, necesitamos usar la propiedad COLUMNS para seleccionar la columna, por lo que a continuación se muestra la sintaxis del método Column Delete en VBA.

Columnas (referencia de columna) .Eliminar

Entonces podemos construir el código así:

Columnas (2). Eliminar o Columnas ("B"). Eliminar

Esto eliminará la columna número 2, es decir, la columna B.

Si queremos eliminar varias columnas, no podemos ingresar columnas, necesitamos hacer referencia a las columnas por encabezados de columna, es decir, alfabetos.

Columnas ("A: D"). Eliminar

Esto eliminará la columna de la A a la D, es decir, las primeras 4 columnas.

De esta manera, podemos usar el método "Eliminar columna" en VBA para eliminar las columnas en particular. En el siguiente apartado veremos más ejemplos para entenderlo mejor. Sigue leyendo.

Ejemplos del método de eliminación de columnas de Excel VBA

A continuación se muestran los ejemplos para eliminar columnas usando VBA.

Ejemplo n. ° 1: uso del método de eliminación

Suponga que tiene la hoja de datos similar a la siguiente.

Si queremos eliminar la columna mes "Mar", primero seleccionamos la propiedad de columnas.

Código:

 Sub Delete_Example1 () Columnas (End Sub 

Mencione el número de columna o el alfabeto. En este caso, es 3 o C.

Código:

Sub Delete_Example1 () Columnas (3). End Sub

Utilice el método Delete.

Nota: no obtendrá la lista IntelliSense para seleccionar el método Eliminar, simplemente escriba "Eliminar",

Código:

 Sub Delete_Example1 () Columnas (3) .Eliminar End Sub 

O puede ingresar la dirección de la columna de esta manera.

Código:

 Sub Delete_Example1 () Columnas ("C"). Delete End Sub 

Ejecute este código usando la tecla F5 o puede ejecutarlo manualmente y ver el resultado.

Ambos códigos harán el mismo trabajo de eliminar la columna mencionada.

Si queremos eliminar varias columnas, debemos mencionarlas en alfabetos, no podemos usar números de columna aquí.

Si queremos eliminar las columnas 2 a 4 podemos pasar el código como se muestra a continuación.

Código:

 Sub Delete_Example1 () Columnas ("C: D"). Delete End Sub 

Ejecute este código manualmente a través de la opción de ejecución o presione la tecla F5, esto eliminará las columnas "Feb", "Mar" y "Apr".

Ejemplo n. ° 2: eliminar columnas con el nombre de la hoja de trabajo

Lo anterior es una descripción general de cómo eliminar columnas usando código VBA. Sin embargo, esa no es la buena práctica de eliminar columnas, sin hacer referencia al nombre de la hoja de trabajo, es peligroso eliminar la columna a ciegas.

Si no ha mencionado el nombre de la hoja de trabajo, la hoja que esté activa eliminará las columnas de esa hoja.

Primero, debemos seleccionar la hoja de trabajo por su nombre.

Código:

 Sub Delete_Example2 () Worksheets ("Hoja de ventas"). Seleccione End Sub 

Después de seleccionar la hoja, debemos seleccionar las columnas. También podemos seleccionar las columnas usando el objeto VBA RANGE.

Código:

 Sub Delete_Example2 () Worksheets ("Sales Sheet"). Seleccione Range ("B: D"). Delete End Sub 

Esto eliminará las columnas B a D, de la hoja de trabajo "Hoja de ventas". Para este código, no importa cuál esté activo, aún así, solo eliminará las columnas mencionadas de esa hoja.

También podemos construir el código VBA en una sola línea.

Código:

 Sub Delete_Example2 () Hojas de trabajo ("Hoja de ventas"). Rango ("B: D"). Eliminar End Sub 

Esto también elimina las columnas "B a D" sin seleccionar la hoja de trabajo "Hoja de ventas".

Ejemplo n. ° 3: eliminar columnas en blanco

Suponga que tiene datos que tienen columnas en blanco alternativas como la siguiente.

Por lo tanto, elimine todas las columnas alternativas que podamos usar a continuación.

Código:

 Sub Delete_Example3 () Dim k As Integer For k = 1 To 4 Columns (k + 1). Delete Next k End Sub 

Ejecute este código usando la tecla F5 o manualmente, luego eliminará todas las columnas en blanco alternativas y nuestros datos se verán así.

Nota: Esto solo funciona para columnas en blanco alternativas.

Ejemplo n. ° 4 - Eliminar columnas de celdas en blanco

Ahora, mire este ejemplo. Hay ciertas situaciones en las que necesitamos eliminar toda la columna si alguna de las celdas en blanco se encuentra en el rango de datos. Considere los siguientes datos como ejemplo.

Todas las celdas de color amarillo están en blanco. Entonces, aquí mi requisito es eliminar todas las columnas de celdas en blanco. El siguiente código hará eso.

Código:

 Sub Delete_Example4 () Range ("A1: F9"). Seleccione Selection.SpecialCells (xlCellTypeBlanks) .Seleccione Selection.EntireColumn.Delete End Sub 

Déjeme explicarle este código línea por línea.

Nuestros datos están allí desde A1 hasta F9, por lo que primero necesito seleccionar ese rango, y el siguiente código será eso.

Rango ("A1: F9"). Selecciona

En este rango de celdas seleccionado, necesito seleccionar las celdas que están en blanco. Entonces, para seleccionar una celda en blanco, necesitamos la propiedad de celdas especiales y en esa propiedad, hemos utilizado el tipo de celda como en blanco.

Selection.SpecialCells (xlCellTypeBlanks) .Select

A continuación, seleccionará todas las celdas en blanco y en la selección, vamos eliminando toda la columna de la selección.

Selection.EntireColumn.Delete

Entonces, nuestro resultado final se verá así.

Dondequiera que haya encontrado la celda en blanco, ha eliminado esas celdas en blanco de toda la columna.

Puede descargar esta columna de eliminación de Excel VBA aquí - Plantilla de columna de eliminación de VBA