VBA Indsæt kolonner - Hvordan indsættes kolonne i Excel-regneark med VBA?

Normalt i excel-regneark har vi to forskellige metoder til at tilføje eller indsætte kolonner, hvoraf den ene er tastaturgenvejen, og en anden ved hjælp af højreklik og indsæt-metoden, men i VBA skal vi bruge indsæt kommando og hele kolonneudtalelse for at tilføje en kolonne sammen, trick til dette er, at hvis vi har brug for at indsætte en enkelt kolonne, giver vi en enkelt kolonnehenvisning, men for de flere kolonner giver vi flere kolonnereferencer.

Indsæt kolonner i Excel ved hjælp af VBA

Som en del af VBA-koden skal vi muligvis indsætte et par kolonner i vores datablad, der passer til vores behov. Indsættelse af kolonne er den lette genvejstast i regnearket ved at trykke på Ctrl +, men hvad med at indsætte en ny kolonne gennem VBA-kode. I denne artikel om "VBA Insert Column" viser vi dig processen med at tilføje kolonner i Excel og viser forskellige eksempler på scenarier.

Hvordan indsættes kolonner i Excel-regneark ved hjælp af VBA?

Vi kan indsætte kolonner i VBA ved hjælp af COLUMNS egenskab og RANGE-objekt. Du skal hvorfor vi har brug for kolonner og rækkeviddeobjekter for at indsætte en ny kolonne.

For at indsætte en ny kolonne skal vi identificere, efter hvilken kolonne vi skal indsætte uden at fortælle, efter hvilken kolonne vi skal indsætte, hvordan VBA kan forstå logikken.

For eksempel, hvis du vil indsætte kolonnen efter kolonne B, kan du konstruere koden som denne.

Kolonner (“C”)

Bemærk: Årsagen til, at jeg har brugt C til at indsætte en kolonne efter, fordi den valgte celle flyttes til højre side.

Når kolonnerne er angivet, skal vi få adgang til egenskaben "Hele kolonne".

Kolonner (“C”). Hele Kolonne

Så er vi nødt til at vælge "Indsæt" -metoden.

Kolonner (“C”). EntireColumn.Insert

Dette indsætter kolonnen efter kolonne C, og den eksisterende kolonne C flyttes til D.

Eksempel # 1 - Indsæt kolonner ved hjælp af områdeobjekt i VBA

Se nu på, hvordan du indsætter kolonnen ved hjælp af RANGE-objektet. Overvej nedenstående data for et eksempel til dette.

Nu vil jeg VBA indsætte kolonnen efter A-kolonnen, følg nedenstående trin for at konstruere koden.

Trin 1: Start underproceduren.

Trin 2: Åbn Range- objekt.

Kode:

Sub ColumnInsert_Example1 () Range (End Sub

Trin 3: Nævn nu kolonnen i dobbelt anførselstegn .

Kode:

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

Trin 4: Vælg nu egenskaben Hele kolonnen .

Kode:

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

Trin 5: Når du har valgt egenskaben Hele kolonne, skal du vælge "Indsæt" -metoden.

Kode:

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

Nu ser din kode sådan ud.

Kode:

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

Kør koden. Det indsætter den nye B-kolonne.

Eksempel 2 - Indsæt flere kolonner

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:

UnderkolonneInsert_eksempel3 () Dim k Som heltalskolonner (2). Vælg For k = 2 Til 8 ActiveCell.EntireColumn. Indsæt ActiveCell.Offset (0, 2). Vælg Næste k Afslut sub

Dette indsætter kolonnen sådan.

Eksempel # 6 - Indsæt kolonne baseret på celleværdi

Vi kan også indsætte en kolonne baseret på celleværdi. Se f.eks. Nedenstående data.

Her vil jeg indsætte kolonnen, hvis den første række celleværdi er "År", og mine data skal kunne lide dette efter indsættelse af nye kolonner.

Brug nedenstående kode til at udføre denne opgave.

Kode:

UnderkolonneInsert_eksempel4 () Dim k Som heltal Dim x Som heltal x = 2 For k = 2 Til 12 Hvis celler (1, x) .Værdi = "År" Celler derefter (1, x) .EntireColumn. Indsæt x = x + 1 Afslut Hvis x = x + 1 Næste k Afslut sub

Du kan downloade denne VBA Insert Kolonner Excel her. VBA Indsæt kolonner Excel-skabelon

Interessante artikler...