VBA-kolommen invoegen - Hoe kolom in Excel-werkblad invoegen met VBA?

Normaal gesproken hebben we in Excel-werkblad twee verschillende methoden om kolommen toe te voegen of in te voegen, de ene is de sneltoets en de andere door de rechtsklik- en invoermethode te gebruiken, maar in VBA moeten we de opdracht invoegen en de volledige kolominstructie gebruiken om elke kolom samen toe te voegen, de De truc hierbij is dat als we een enkele kolom moeten invoegen, we een enkele kolomreferentie geven, maar voor de meerdere kolommen geven we meerdere kolomreferenties.

Kolommen invoegen in Excel met behulp van VBA

Als onderdeel van de VBA-code moeten we mogelijk een paar kolommen in ons gegevensblad invoegen om aan onze behoeften te voldoen. Kolom invoegen is de gemakkelijke sneltoets in het werkblad door op Ctrl + te drukken, maar hoe zit het met het invoegen van een nieuwe kolom via VBA-code. In dit artikel over "VBA-kolom invoegen" laten we u het proces zien van het toevoegen van kolommen in Excel en laten we u verschillende scenario's zien.

Hoe kolommen in Excel-werkblad in te voegen met VBA?

We kunnen kolommen in VBA invoegen met de eigenschap COLUMNS en het RANGE-object. U moet waarom we kolommen en bereikobjecten nodig hebben om een ​​nieuwe kolom in te voegen.

Om een ​​nieuwe kolom in te voegen, moeten we identificeren na welke kolom we moeten invoegen, zonder te vertellen, en na welke kolom we moeten invoegen hoe VBA de logica kan begrijpen.

Als u bijvoorbeeld de kolom na kolom B wilt invoegen, kunt u de code als volgt construeren.

Kolommen ("C")

Opmerking: de reden waarom ik C heb gebruikt om een ​​kolom daarna in te voegen, omdat de geselecteerde cel naar de rechterkant wordt verschoven.

Nadat de kolommen zijn gespecificeerd, hebben we toegang tot de eigenschap "Gehele kolom" nodig.

Kolommen ("C") Gehele kolom

Dan moeten we de "Insert" -methode kiezen.

Kolommen ("C"). GeheleColumn.Invoegen

Hierdoor wordt de kolom na kolom C ingevoegd en wordt de bestaande kolom C verplaatst naar D.

Voorbeeld # 1 - Kolommen invoegen met bereikobject in VBA

Kijk nu naar de manier om de kolom in te voegen met behulp van het RANGE-object. Beschouw hiervoor de onderstaande gegevens als voorbeeld.

Nu wil ik VBA de kolom na de A-kolom invoegen, volg de onderstaande stappen om de code te construeren.

Stap 1: Start de subprocedure.

Stap 2: Open Range- object.

Code:

Sub ColumnInsert_Example1 () Bereik (End Sub

Stap 3: Noem de kolom nu tussen dubbele aanhalingstekens .

Code:

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

Stap 4: Kies nu de eigenschap Gehele kolom .

Code:

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

Stap 5: Nadat u de eigenschap Gehele kolom hebt geselecteerd, kiest u de methode “Invoegen” .

Code:

Sub ColumnInsert_Example1 () Bereik ("B: B"). GeheleColumn.ins End Sub

Nu ziet uw code er zo uit.

Code:

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

Voer de code uit. Het zal de nieuwe B-kolom invoegen.

Voorbeeld # 2 - Meerdere kolommen invoegen

Als u bijvoorbeeld twee nieuwe kolommen na kolom A wilt invoegen, moeten we twee kolomadressen vermelden.

Code:

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

De bovenstaande code voegt twee kolommen in na kolom A.

Voorbeeld # 3 - Met de methode alleen "invoegen"

We kunnen een nieuwe kolom invoegen door de enige methode "Invoegen" te gebruiken zonder de eigenschap Gehele kolom te openen. Laten we hiervoor de syntaxis van de "insert" -methode begrijpen.

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

(Shift): wanneer we de nieuwe kolom invoegen, of we de kolommen nodig hebben om naar rechts te verschuiven of om naar beneden te verschuiven in het geval van rijen. Hier kunnen we twee opties gebruiken, "xlToRight" en "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

Dit zal de kolom als volgt invoegen.

Voorbeeld # 6 - Kolom invoegen op basis van celwaarde

We kunnen ook een kolom invoegen op basis van de celwaarde. Bekijk bijvoorbeeld de onderstaande gegevens.

Hier wil ik de kolom invoegen als de celwaarde in de eerste rij "Jaar" is, en mijn gegevens zouden dit leuk moeten vinden na het invoegen van nieuwe kolommen.

Gebruik de onderstaande code om deze taak uit te voeren.

Code:

Sub ColumnInsert_Example4 () Dim k As Integer Dim x As Integer x = 2 Voor k = 2 tot 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

U kunt deze VBA Insert Columns Excel hier downloaden. VBA Kolommen invoegen Excel-sjabloon

Interessante artikelen...