Colonnes d'insertion VBA

Normalement, dans la feuille de calcul Excel, nous avons deux méthodes différentes pour ajouter ou insérer des colonnes, l'une étant le raccourci clavier et l'autre en utilisant le clic droit et la méthode d'insertion, mais dans VBA, nous devons utiliser la commande d'insertion et l'instruction de colonne entière pour ajouter n'importe quelle colonne ensemble, le L'astuce pour cela est que si nous devons insérer une seule colonne, nous donnons une seule référence de colonne, mais pour les colonnes multiples, nous donnons plusieurs références de colonne.

Insérer des colonnes dans Excel à l'aide de VBA

Dans le cadre du code VBA, nous devrons peut-être insérer quelques colonnes dans notre fiche technique pour répondre à nos besoins. L'insertion d'une colonne est la touche de raccourci facile dans la feuille de calcul en appuyant sur Ctrl + mais que diriez-vous d'insérer une nouvelle colonne via le code VBA. Dans cet article sur «VBA Insert Column», nous allons vous montrer le processus d'ajout de colonnes dans Excel et vous montrer différents exemples de scénarios.

Comment insérer des colonnes dans une feuille de calcul Excel à l'aide de VBA?

Nous pouvons insérer des colonnes dans VBA à l'aide de la propriété COLUMNS et de l'objet RANGE. Vous devez savoir pourquoi nous avons besoin de colonnes et d'objets de plage pour insérer une nouvelle colonne.

Pour insérer une nouvelle colonne, nous devons identifier après quelle colonne nous devons insérer, sans dire après quelle colonne nous devons insérer comment VBA peut comprendre la logique.

Par exemple, si vous souhaitez insérer la colonne après la colonne B, vous pouvez construire le code comme ceci.

Colonnes ("C")

Remarque: La raison pour laquelle j'ai utilisé C pour insérer une colonne après parce que la cellule sélectionnée sera déplacée vers le côté droit.

Une fois les colonnes spécifiées, nous devons accéder à la propriété «Colonne entière».

Colonnes («C»). Colonne entière

Ensuite, nous devons choisir la méthode «Insérer».

Colonnes («C»). Colonne entière.Insérer

Cela insérera la colonne après la colonne C et la colonne existante C sera déplacée vers D.

Exemple # 1 - Insérer des colonnes à l'aide d'un objet Range dans VBA

Maintenant, regardez la manière d'insérer la colonne à l'aide de l'objet RANGE. Pour cela, considérez les données ci-dessous pour un exemple.

Maintenant, je veux VBA insérer la colonne après la colonne A, suivez les étapes ci-dessous pour construire le code.

Étape 1: Démarrez la procédure secondaire.

Étape 2: Ouvrez l' objet Range .

Code:

 Sub ColumnInsert_Example1 () Range (End Sub 

Étape 3: mentionnez maintenant la colonne entre guillemets .

Code:

 Sub ColumnInsert_Example1 () Range ("B: B") End Sub 

Étape 4: Choisissez maintenant la propriété Colonne entière .

Code:

 Sub ColumnInsert_Example1 () Range ("B: B"). Ent End Sub 

Étape 5: Après avoir sélectionné la propriété Colonne entière, choisissez la méthode «Insérer» .

Code:

 Sub ColumnInsert_Example1 () Range ("B: B"). CompleteColumn.ins End Sub 

Maintenant, votre code ressemble à ceci.

Code:

 Sub ColumnInsert_Example1 () Range ("B: B"). CompleteColumn.Insert End Sub 

Exécutez le code, il insérera la nouvelle colonne B.

Exemple # 2 - Insérer plusieurs colonnes

Par exemple, si vous souhaitez insérer deux nouvelles colonnes après la colonne A, nous devons mentionner deux adresses de colonne.

Code:

 Sub ColumnInsert_Example1 () Range ("B: C"). CompleteColumn.Insert End Sub 

Le code ci-dessus insérera deux colonnes après la colonne A.

Exemple 3 - Avec la méthode «Insérer» uniquement

Nous pouvons insérer une nouvelle colonne en utilisant «Insérer» la seule méthode sans accéder à la propriété Colonne entière. Pour cela, comprenons la syntaxe de la méthode «insert».

Expression.Insert ([Shift], [Copy Origin])

[Shift]: Lorsque nous insérons la nouvelle colonne, si nous avons besoin que les colonnes se déplacent vers le côté droit ou se décaler vers le bas en cas de lignes. Ici, nous pouvons utiliser deux options «xlToRight» et «xlDownTo»

[Copier l'origine]: Ceci spécifiera le format de la colonne nouvellement insérée. Si vous avez besoin du format du côté gauche de la colonne ou des cellules ci-dessus. Ici, nous pouvons utiliser deux options «xlFormatFromLeftOrAbove» et «xlFormatFromRightOrBelow».

Voici l'exemple de code pour vous.

 Sub ColumnInsert_Example1 () Range ("B: B"). Insert Shift: = xlToRight, Copyorigin: = xlFormatFromLeftOrAbove End Sub 

Exemple # 4 - Insérer des colonnes à l'aide de la propriété COLUMNS dans VBA

Nous avons vu comment insérer des colonnes VBA en utilisant l'objet RANGE, maintenant nous allons montrer que nous pouvons insérer des colonnes en utilisant la propriété «COLUMNS».

Ouvrez la propriété COLUMNS.

Code:

 Sub ColumnInsert_Example2 () Colonnes (End Sub 

Nous pouvons spécifier la colonne de deux manières ici. L'un utilise des références alphabétiques habituelles et un autre utilise des numéros de colonne.

If you want to insert the column after the column A then the code will be COLUMNS(“B”). If you are using numerical reference then the code will be COLUMNS(2).

Code:

 Sub ColumnInsert_Example2() Columns("B"). End Sub 

Now the problem for you arises because when we use COLUMNS property we don’t get to access to IntelliSense list.

Code:

 Sub ColumnInsert_Example2() Columns("B").Entir End Sub 

Here we need to sure of what we are doing. So this is the reason I have showed you the RANGE object first.

Code:

 Sub ColumnInsert_Example2() Columns("B:B").EntireColumn.Insert End Sub 

Example #5 – Insert Alternative Columns

Assume you have the data like the below image.

If you want to insert new columns after every alternate row, then we need to use VBA loops. Below code it the tailor-made the code for you.

Code:

 Sub ColumnInsert_Example3() Dim k As Integer Columns(2).Select For k = 2 To 8 ActiveCell.EntireColumn.Insert ActiveCell.Offset(0, 2).Select Next k End Sub 

This will insert the column like this.

Example #6 – Insert Column Based on Cell Value

We can also insert a column based on cell value as well. For example, look at the below data.

Here I want to insert the column if the first-row cell value is “Year” and my data should like this after inserting new columns.

Use the below code to perform this task.

Code:

 Sub ColumnInsert_Example4() Dim k As Integer Dim x As Integer x = 2 For k = 2 To 12 If Cells(1, x).Value = "Year" Then Cells(1, x).EntireColumn.Insert x = x + 1 End If x = x + 1 Next k End Sub 

You can download this VBA Insert Columns Excel here. VBA Insert Columns Excel Template