Colonnes d'insertion VBA - Comment insérer une colonne dans une feuille de calcul Excel avec 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 en utilisant la propriété COLUMNS et 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 le 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 C existante 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 que VBA insère 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 ((Décalage), (Copier l'origine))

(Shift): Lorsque nous insérons la nouvelle colonne, que nous ayons besoin que les colonnes se déplacent vers le côté droit ou qu'elles se déplacent vers le bas en cas de lignes. Ici, nous pouvons utiliser deux options, "xlToRight" et "xlDownTo"

(Copy Origin): This will specify the format for the newly inserted column. Whether you need the format from the left side of the column or from the above cells. Here we can use two options “xlFormatFromLeftOrAbove” and “xlFormatFromRightOrBelow”.

Below is the example code for you.

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

Example #4 - Insert Columns Using COLUMNS Property in VBA

We have seen how to VBA insert columns using the RANGE object; now, we will show we can insert columns using the “COLUMNS” property.

Open the COLUMNS property.

Code:

Sub ColumnInsert_Example2() Columns( End Sub

We can specify the column in two ways here. One is using as usual alphabetic references, and another one is using column numbers.

If you want to insert the column after 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 the 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. The below code it 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

Cela insérera la colonne comme ceci.

Exemple # 6 - Insérer une colonne en fonction de la valeur de la cellule

Nous pouvons également insérer une colonne basée sur la valeur de la cellule. Par exemple, regardez les données ci-dessous.

Ici, je veux insérer la colonne si la valeur de la cellule de première ligne est «Année», et mes données devraient l'aimer après avoir inséré de nouvelles colonnes.

Utilisez le code ci-dessous pour effectuer cette tâche.

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

Vous pouvez télécharger ce VBA Insérer des colonnes Excel ici. Modèle Excel de colonnes d'insertion VBA

Articles intéressants...