Colonne di inserimento VBA - Come inserire una colonna nel foglio di lavoro Excel con 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 dirlo, 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. Inserirà la nuova colonna B.

Esempio n. 2: inserire più colonne

For example, if you want to insert two new columns after column A, then we need to mention two column addresses.

Code:

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

The above code will insert two columns after column A.

Example #3 - With “Insert” Only Method

We can insert a new column by using “Insert” the only method without accessing the Entire Column property. For this, let’s understand the “insert” method syntax.

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

(Shift): When we insert the new column, whether we need the columns to shift to the right side or to shift to the downside in case of rows. Here we can use two options, “xlToRight” and “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) .Seleziona per k = da 2 a 8 ActiveCell.EntireColumn.Insert ActiveCell.Offset (0, 2) .Seleziona Next k End Sub

Questo inserirà la colonna in questo modo.

Esempio # 6 - Inserisci colonna in base al valore della cella

Possiamo anche inserire una colonna in base al valore della cella. Ad esempio, guarda i dati seguenti.

Qui voglio inserire la colonna se il valore della cella della prima riga è "Anno" e i miei dati dovrebbero essere così dopo aver inserito nuove colonne.

Usa il codice seguente per eseguire questa operazione.

Codice:

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

Puoi scaricare questo VBA Inserisci colonne Excel qui. Modello Excel per colonne di inserimento VBA

Articoli interessanti...