Colonne di inserimento VBA

Normalmente nel foglio di lavoro Excel abbiamo due diversi metodi per aggiungere o inserire colonne uno è la scorciatoia da tastiera e un altro usando il tasto destro del mouse e il metodo di inserimento, ma in VBA dobbiamo usare il comando di inserimento e l'intera istruzione di colonna per aggiungere qualsiasi colonna insieme, il Il trucco per questo è che se abbiamo bisogno di inserire una singola colonna diamo un singolo riferimento di colonna ma per le colonne multiple diamo più riferimenti di colonna.

Inserisci colonne in Excel utilizzando VBA

Come parte del codice VBA, potrebbe essere necessario inserire alcune colonne nel nostro foglio dati per soddisfare le nostre esigenze. L'inserimento della colonna è il semplice tasto di scelta rapida nel foglio di lavoro premendo Ctrl + ma che ne dici di inserire una nuova colonna tramite il codice VBA. In questo articolo su "VBA Inserisci colonna", ti mostreremo il processo di aggiunta di colonne in Excel e ti mostreremo diversi esempi di scenari.

Come inserire colonne nel foglio di lavoro di Excel utilizzando VBA?

Possiamo inserire colonne in VBA utilizzando la proprietà COLUMNS e l'oggetto RANGE. Devi perché abbiamo bisogno di colonne e oggetti intervallo per inserire una nuova colonna.

Per inserire una nuova colonna dobbiamo identificare dopo quale colonna dobbiamo inserire, senza dire dopo quale colonna dobbiamo inserire come VBA può comprendere la logica.

Ad esempio, se vuoi inserire la colonna dopo la colonna B, puoi costruire il codice in questo modo.

Colonne ("C")

Nota: il motivo per cui ho usato C per inserire una colonna dopo perché la cella selezionata verrà spostata sul lato destro.

Dopo che le colonne sono state specificate, dobbiamo accedere alla proprietà "Intera colonna".

Colonne ("C"). Intera colonna

Quindi dobbiamo scegliere il metodo "Inserisci".

Colonne ("C"). InteraColonna.Inser

Questo inserirà la colonna dopo la colonna C e la colonna C esistente verrà spostata in D.

Esempio n. 1: inserire colonne utilizzando l'oggetto intervallo in VBA

Ora, guarda come inserire la colonna usando l'oggetto RANGE. Per questo, considera i dati seguenti come esempio.

Ora voglio VBA inserire la colonna dopo la colonna A, seguire i passaggi seguenti per costruire il codice.

Passaggio 1: avviare la procedura secondaria.

Passaggio 2: Apri oggetto Range .

Codice:

 Sub ColumnInsert_Example1 () Intervallo (End Sub 

Passaggio 3: ora menziona la colonna tra virgolette .

Codice:

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

Passaggio 4: ora scegli la proprietà Intera colonna .

Codice:

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

Passaggio 5: dopo aver selezionato la proprietà Intera colonna, scegliere il metodo "Inserisci" .

Codice:

 Sub ColumnInsert_Example1 () Intervallo ("B: B"). InteraColonna.ins End Sub 

Ora il tuo codice ha questo aspetto.

Codice:

 Sub ColumnInsert_Example1 () Intervallo ("B: B"). InteraColonna.Insert End Sub 

Esegui il codice che inserirà la nuova colonna B.

Esempio n. 2: inserire più colonne

Ad esempio, se si desidera inserire due nuove colonne dopo la colonna A, è necessario menzionare due indirizzi di colonna.

Codice:

 Sub ColumnInsert_Example1 () Intervallo ("B: C"). InteraColonna.Insert End Sub 

Il codice sopra inserirà due colonne dopo la colonna A.

Esempio # 3 - Solo con il metodo "Inserisci"

Possiamo inserire una nuova colonna utilizzando "Inserisci" l'unico metodo senza accedere alla proprietà Intera colonna. Per questo comprendiamo la sintassi del metodo "insert".

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

[Shift]: Quando inseriamo la nuova colonna, se abbiamo bisogno che le colonne si spostino a destra o che si spostino verso il basso in caso di righe. Qui possiamo utilizzare due opzioni "xlToRight" e "xlDownTo"

[Copia origine]: questo specificherà il formato per la colonna appena inserita. Se hai bisogno del formato dal lato sinistro della colonna o dalle celle sopra. Qui possiamo usare due opzioni "xlFormatFromLeftOrAbove" e "xlFormatFromRightOrBelow".

Di seguito è riportato il codice di esempio per te.

 Sub ColumnInsert_Example1 () Intervallo ("B: B"). Inserisci Maiusc: = xlToRight, Copyorigin: = xlFormatFromLeftOrAbove End Sub 

Esempio n. 4: inserire colonne utilizzando la proprietà COLUMNS in VBA

Abbiamo visto come inserire colonne in VBA usando l'oggetto RANGE, ora mostreremo che possiamo inserire colonne usando la proprietà "COLUMNS".

Apri la proprietà COLUMNS.

Codice:

 Sub ColumnInsert_Example2 () Colonne (End Sub 

Possiamo specificare la colonna in due modi qui. Uno usa come al solito i riferimenti alfabetici e un altro usa i numeri di colonna.

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