VBA Delete Column | Els 4 primers mètodes per suprimir columnes d'Excel mitjançant VBA

Normalment, al full de treball Excel tenim dos mètodes diferents per esborrar columnes: un és la drecera de teclat i un altre mitjançant el mètode de clic dret i inserció, però a VBA hem d’utilitzar l’ordre delete i la declaració de columna sencera per eliminar qualsevol columna junt, el truc per això és que si necessitem suprimir una sola columna donem una única referència de columna, però per a les diverses columnes donem referències de columna múltiple.

Columna d'Excel VBA Delete

Realitzem moltes accions a Excel, com ara retallar, copiar, enganxar, afegir, suprimir, inserir i moltes d'aquestes coses que fem regularment. Podem utilitzar totes aquestes accions mitjançant la codificació VBA. Un dels conceptes importants que hem d'aprendre és a VBA: la "columna de supressió". En aquest article, us mostrarem com utilitzar aquesta opció Suprimeix la columna a VBA.

Què fa l'eliminació de columnes a Excel VBA?

Com diu el nom, esborrarà la columna especificada. Per realitzar aquesta tasca, primer hem d’identificar quina columna hem de suprimir. La selecció de columnes per suprimir és diferent d’un escenari a un altre, de manera que tractarem alguns dels escenaris importants i que s’enfronten sovint en aquest article.

Eliminar les columnes és fàcil. En primer lloc, hem d’utilitzar la propietat COLUMNS per seleccionar la columna, de manera que a continuació es mostra la sintaxi del mètode de supressió de columna a VBA.

Columnes (referència de columna). Esborra

Per tant, podem construir el codi així:

Columnes (2). Esborra o Columnes ("B"). Suprimeix

Això suprimirà la columna número 2, és a dir, la columna B.

Si volem esborrar diverses columnes no podem introduir columnes, hem de fer referència a les columnes per capçaleres de columna, és a dir, alfabets.

Columnes ("A: D"). Suprimeix

Això suprimirà la columna d'A a D, és a dir, les primeres 4 columnes.

Així, podem utilitzar el mètode "Suprimeix la columna" a VBA per suprimir les columnes concretes. A la secció següent veurem més exemples per entendre-ho millor. Segueix llegint.

Exemples de mètode de supressió de columna Excel VBA

A continuació es mostren els exemples per suprimir columnes mitjançant VBA.

Exemple # 1: utilitzar el mètode Delete

Suposem que teniu el full de dades com el següent.

Si volem suprimir la columna "Mar" del mes, primer seleccioneu la propietat de les columnes.

Codi:

 Sub Delete_Example1 () Columnes (End Sub 

Esmenta el número de columna o l’alfabet. En aquest cas, és 3 o C.

Codi:

 Sub Suprimeix_Exemple1 () Columnes (3). Finalitzar sub 

Utilitzeu el mètode Delete.

Nota: no obtindreu la llista IntelliSense per seleccionar el mètode Suprimeix, només cal que escriviu "Suprimeix",

Codi:

 Sub Suprimeix_Exemple1 () Columnes (3). Suprimeix Final Sub 

O podeu introduir l'adreça de la columna d'aquesta manera.

Codi:

 Sub Eliminar_Exemple1 () Columnes ("C"). Eliminar Sub Sub 

Executeu aquest codi amb la tecla F5 o podeu executar-lo manualment i veure el resultat.

Tots dos codis faran la mateixa feina en suprimir la columna esmentada.

Si volem suprimir diverses columnes, les hem d’esmentar en alfabets, no podem utilitzar els números de columna aquí.

Si volem eliminar les columnes 2 a 4 podem passar el codi com el següent.

Codi:

 Sub Suprimeix_Exemple1 () Columnes ("C: D"). Suprimeix Final Sub 

Executeu aquest codi manualment mitjançant l'opció d'execució o premeu la tecla F5; d'aquesta manera se suprimiran les columnes "Feb", "Mar" i "Apr".

Exemple 2: suprimiu les columnes amb el nom del full de treball

L'anterior és una visió general de com suprimir columnes mitjançant el codi VBA. Tanmateix, aquesta no és la bona pràctica de suprimir columnes, sense referir el nom del full de càlcul és perillós suprimir-la a cegues.

Si no heu mencionat el nom del full de càlcul, el full actiu eliminarà les columnes del full.

En primer lloc, hem de seleccionar el full de treball pel seu nom.

Codi:

 Sub Delete_Example2 () Fulls de treball ("Full de vendes"). Seleccioneu End Sub 

Després de seleccionar el full, hem de seleccionar les columnes. També podem seleccionar les columnes utilitzant també l’objecte VBA RANGE.

Codi:

 Sub Delete_Example2 () Fulls de treball ("Full de vendes"). Seleccioneu l'interval ("B: D"). Delete Final Sub 

Això suprimirà les columnes B a D del full de treball "Full de vendes". Per a aquest codi, no importa quin estigui actiu, encara que només suprimirà les columnes esmentades del full.

També podem construir el codi VBA a la mateixa línia.

Codi:

 Sub Delete_Example2 () Fulls de treball ("Full de vendes"). Rang ("B: D"). Delete Final Sub 

Això també suprimeix les columnes "B a D" sense seleccionar el full de treball "Full de vendes".

Exemple 3: suprimiu les columnes en blanc

Suposem que teniu dades que tenen columnes en blanc alternatives com la següent.

Per tant, suprimiu totes les columnes alternatives que podem utilitzar a sota del codi.

Codi:

 Sub Delete_Example3 () Dim k Com enter per a k = 1 a 4 columnes (k + 1). Eliminar Next k End Sub 

Executeu aquest codi utilitzant la tecla F5 o manualment, i suprimirà totes les columnes en blanc alternatives i les nostres dades seran així.

Nota: Això només funciona per a columnes en blanc alternatives.

Exemple # 4: suprimir columnes de cel·les en blanc

Ara mireu aquest exemple. Hi ha certes situacions en què hem de suprimir tota la columna si es troba alguna de les cel·les en blanc de l’interval de dades. Consulteu les dades següents per obtenir un exemple.

Totes les cel·les de color groc estan en blanc. Per tant, aquí el meu requisit és eliminar totes les columnes de cel·les en blanc. El codi següent ho farà.

Codi:

 Sub Delete_Example4 () Range ("A1: F9"). Seleccioneu Selection.SpecialCells (xlCellTypeBlanks). Seleccioneu Selection.EntireColumn.Elete End End 

Deixeu-me explicar aquest codi línia per línia.

Les nostres dades es troben des de l'A1 fins a la F9, de manera que primer he de seleccionar aquest interval i, per sota, el faré.

Rang ("A1: F9"). Seleccioneu

En aquest interval de cel·les seleccionat, he de seleccionar les cel·les que estan en blanc. Per tant, per seleccionar una cel·la en blanc necessitem una propietat de cel·les especials i, en aquesta propietat, hem utilitzat el tipus de cel·la com a blanc.

Selecció.SpecialCells (xlCellTypeBlanks). Seleccioneu

A continuació, seleccionarà totes les cel·les en blanc i, a la selecció, eliminarem tota la columna de la selecció.

Selection.EntireColumn.Delete

Per tant, el nostre resultat final serà així.

Sempre que hagi trobat la cel·la en blanc, ha suprimit tota la columna de les cel·les en blanc.

Podeu descarregar aquesta columna Excel Delete VBA aquí: plantilla de columna VBA Delete