VBA Eliminar columna - Los 4 métodos principales para eliminar columnas de Excel usando 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 utilizar todas estas acciones mediante 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 el mes de la columna "Mar", primero seleccione la propiedad de las 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 el alfabeto. No podemos usar números de columna aquí.

Si queremos eliminar las columnas 2 a 4, podemos pasar el código como el siguiente.

Código:

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

Run this code manually through the run option or press the F5 key. This will delete the columns “Feb,” “Mar,” and “Apr.”

Example #2 - Delete Columns with Worksheet Name

The above is an overview of how to delete columns using VBA code. However, that is not the good practice of deleting columns. Without referring the worksheet name, it is dangerous to blindly delete the column.

If you have not mentioned the worksheet name, then whichever sheet is active, it will delete columns of that sheet.

First, we need to select the worksheet by its name.

Code:

Sub Delete_Example2() Worksheets("Sales Sheet").Select End Sub

After selecting the sheet, we need to select the columns. We can also select the columns by using the VBA RANGE object as well.

Code:

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

This will delete the columns B to D of the worksheet “Sales Sheet.” For this code, it doesn’t matter which is active. Still, it will delete the mentioned columns of that sheet only.

We can also construct the VBA code in the single line itself.

Code:

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

This also deletes the columns “B to D” without selecting the worksheet “Sales Sheet.”

Example #3 - Delete Blank Columns

Assume you have data that has alternative blank columns like the below.

So, delete every alternative column we can use the below code.

Code:

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

Run this code using the F5 key or manually. Then, it will delete all the alternative blank columns, and our data will look like this.

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éjame explicarte este código línea por línea.

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

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 usado 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, estamos 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 en toda la columna.

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

Articulos interesantes...