VBA Infoga kolumner - Hur infogar jag kolumn i Excel-kalkylblad med VBA?

Innehållsförteckning

Normalt har vi i Excel-kalkylblad två olika metoder för att lägga till eller infoga kolumner, en är kortkommandon och en annan genom att använda högerklicka och infoga-metoden, men i VBA måste vi använda infoga kommando och hela kolumnuttryck för att lägga till en kolumn tillsammans, knep till detta är att om vi behöver infoga en enda kolumn ger vi en enda kolumnreferens men för de flera kolumnerna ger vi flera kolumnreferenser.

Infoga kolumner i Excel med VBA

Som en del av VBA-koden kan vi behöva infoga några kolumner i vårt datablad för att passa våra behov. Att infoga kolumn är den snabba snabbtangenten i kalkylbladet genom att trycka på Ctrl + men vad sägs om att infoga en ny kolumn genom VBA-kod. I den här artikeln om "VBA Insert Column" visar vi dig processen att lägga till kolumner i Excel och visar olika exempel på scenarier.

Hur infogar jag kolumner i Excel-kalkylblad med VBA?

Vi kan infoga kolumner i VBA med COLUMNS-egenskapen och RANGE-objektet. Du måste varför vi behöver kolumner och intervallobjekt för att infoga en ny kolumn.

För att infoga en ny kolumn måste vi identifiera efter vilken kolumn vi behöver infoga, utan att berätta, efter vilken kolumn vi måste infoga hur VBA kan förstå logiken.

Om du till exempel vill infoga kolumnen efter kolumn B kan du konstruera koden så här.

Kolumner (“C”)

Obs: Anledningen till att jag har använt C för att infoga en kolumn efter eftersom den valda cellen flyttas till höger.

När kolumnerna har specificerats måste vi komma åt egenskapen ”Hela kolumnen”.

Kolumner ("C"). Hela kolumnen

Då måste vi välja "Infoga" -metoden.

Kolumner (“C”). EntireColumn.Insert

Detta infogar kolumnen efter kolumn C och den befintliga kolumnen C flyttas till D.

Exempel nr 1 - Infoga kolumner med intervallobjekt i VBA

Titta nu på sättet att infoga kolumnen med RANGE-objektet. För detta, överväg nedanstående data för ett exempel.

Nu vill jag VBA infoga kolumnen efter A-kolumnen, följ nedanstående steg för att konstruera koden.

Steg 1: Börja med underproceduren.

Steg 2: Öppna Range- objekt.

Koda:

Sub ColumnInsert_Example1 () Range (End Sub

Steg 3: Nämn nu kolumnen i dubbla citat .

Koda:

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

Steg 4: Nu väljer hela kolumnen egendom.

Koda:

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

Steg 5: När du har valt hela kolumnegenskapen väljer du metoden "Infoga" .

Koda:

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

Nu ser din kod ut så här.

Koda:

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

Kör koden. Den infogar den nya B-kolumnen.

Exempel # 2 - Infoga flera kolumner

Om du till exempel vill infoga två nya kolumner efter kolumn A måste vi nämna två kolumnadresser.

Koda:

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

Ovanstående kod infogar två kolumner efter kolumn A.

Exempel # 3 - Endast metoden "Infoga"

Vi kan infoga en ny kolumn genom att använda "Infoga" den enda metoden utan åtkomst till hela kolumnegenskapen. För detta, låt oss förstå syntaxen för "infoga" -metoden.

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

(Skift): När vi infogar den nya kolumnen, oavsett om vi behöver kolumnerna för att flytta till höger sida eller för att flytta till nackdelen i fall av rader. Här kan vi använda två alternativ, “xlToRight” och “xlDownTo”

(Kopiera ursprung): Detta anger formatet för den nyligen infogade kolumnen. Oavsett om du behöver formatet från vänster sida av kolumnen eller från ovanstående celler. Här kan vi använda två alternativ “xlFormatFromLeftOrAbove” och “xlFormatFromRightOrBelow”.

Nedan är exempelkoden för dig.

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

Exempel # 4 - Infoga kolumner med COLUMNS-egenskap i VBA

Vi har sett hur man VBA infogar kolumner med RANGE-objektet; nu kommer vi att visa att vi kan infoga kolumner med hjälp av "COLUMNS" -egenskapen.

Öppna egenskapen COLUMNS.

Koda:

UnderkolumnInsert_Exempel2 () Kolumner (Avsluta sub

Vi kan specificera kolumnen på två sätt här. En använder som vanliga alfabetiska referenser, och en annan använder kolumnnummer.

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:

UnderkolumnInsert_Exempel3 () Dim k Som heltalskolumner (2). Välj För k = 2 till 8 ActiveCell.EntireColumn.Inför ActiveCell.Offset (0, 2). Välj Nästa k Avsluta Sub

Detta infogar kolumnen så här.

Exempel # 6 - Infoga kolumn baserat på cellvärde

Vi kan också infoga en kolumn baserat på cellvärde också. Titta till exempel på nedanstående data.

Här vill jag infoga kolumnen om cellvärdet i första raden är "År", och mina data ska gilla detta efter att ha infogat nya kolumner.

Använd koden nedan för att utföra denna uppgift.

Koda:

UnderkolumnInsert_Exempel4 () Dim k Som heltal Dim x Som heltal x = 2 För k = 2 till 12 Om celler (1, x) .Värde = "År" Celler sedan (1, x) .EntireColumn.Insert x = x + 1 Avsluta Om x = x + 1 Nästa k Avsluta Sub

Du kan ladda ner detta VBA Infoga kolumner Excel här. VBA Infoga kolumner Excel-mall

Intressanta artiklar...