Sisipkan Lajur VBA - Bagaimana Memasukkan Lajur dalam Lembaran Kerja Excel dengan VBA?

Biasanya dalam lembaran kerja excel kita mempunyai dua kaedah yang berbeza untuk menambah atau memasukkan lajur satu adalah jalan pintas papan kekunci dan yang lain dengan menggunakan kaedah klik kanan dan sisipkan tetapi di VBA kita harus menggunakan perintah sisipan dan pernyataan keseluruhan lajur untuk menambahkan lajur bersama, silap mata adalah bahawa jika kita perlu memasukkan satu lajur, kita memberikan rujukan satu lajur tetapi untuk beberapa lajur kita memberikan sebilangan rujukan lajur.

Masukkan Lajur di Excel menggunakan VBA

Sebagai sebahagian daripada kod VBA, kita mungkin perlu memasukkan beberapa lajur dalam lembar data untuk memenuhi keperluan kita. Memasukkan lajur adalah kunci jalan pintas yang mudah di lembaran kerja dengan menekan Ctrl + tetapi bagaimana dengan memasukkan lajur baru melalui kod VBA. Dalam artikel ini di "VBA Insert Column," kami akan menunjukkan kepada anda proses penambahan lajur di excel dan akan menunjukkan contoh senario yang berbeza.

Bagaimana Memasukkan Lajur dalam Lembaran Kerja Excel menggunakan VBA?

Kita boleh memasukkan lajur di VBA menggunakan properti COLUMNS dan objek RANGE. Anda mesti mengapa kita memerlukan lajur dan objek jarak untuk memasukkan lajur baru.

Untuk memasukkan lajur baru, kita perlu mengenal pasti lajur mana yang perlu kita masukkan, tanpa memberitahu, lajur mana yang perlu kita masukkan bagaimana VBA dapat memahami logiknya.

Contohnya, jika anda ingin memasukkan lajur selepas lajur B, anda boleh membina kod seperti ini.

Lajur ("C")

Catatan: Sebab mengapa saya menggunakan C untuk memasukkan lajur selepas itu kerana sel yang dipilih akan dialihkan ke sebelah kanan.

Setelah lajur ditentukan, kita perlu mengakses harta "Seluruh Lajur".

Lajur ("C"). Seluruh Kolom

Maka kita perlu memilih kaedah "Masukkan".

Lajur ("C"). Seluruh Kolom. Masukkan

Ini akan memasukkan lajur selepas lajur C, dan lajur C yang ada akan dipindahkan ke D.

Contoh # 1 - Masukkan Lajur Menggunakan Julat Objek di VBA

Sekarang, lihat cara memasukkan lajur menggunakan objek RANGE. Untuk ini, pertimbangkan data di bawah sebagai contoh.

Sekarang saya ingin VBA memasukkan lajur selepas lajur A, ikuti langkah-langkah di bawah untuk membina kod tersebut.

Langkah 1: Mulakan Sub Prosedur.

Langkah 2: Objek Open Range .

Kod:

Sub LajurInsert_Contoh1 () Julat (Sub Akhir

Langkah 3: Sekarang sebutkan lajur dalam petikan ganda .

Kod:

Sub LajurInsert_Contoh1 () Julat ("B: B") Sub Akhir

Langkah 4: Sekarang pilih harta Seluruh Lajur .

Kod:

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

Langkah 5: Setelah memilih harta Seluruh Lajur, pilih kaedah "Masukkan" .

Kod:

Sub ColumnInsert_Example1 () Julat ("B: B"). SeluruhColumn.ins Akhir Sub

Sekarang kod anda kelihatan seperti ini.

Kod:

Sub LajurInsert_Contoh1 () Julat ("B: B"). SeluruhColumn.Insert Sub End

Jalankan kod. Ia akan memasukkan lajur B baru.

Contoh # 2 - Masukkan Pelbagai Lajur

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_Contoh3 () Dim k Sebagai Lajur Integer (2). Pilih Untuk k = 2 hingga 8 ActiveCell.EntireColumn. Masukkan ActiveCell.Offset (0, 2). Pilih Next Next End End

Ini akan memasukkan lajur seperti ini.

Contoh # 6 - Masukkan Lajur Berdasarkan Nilai Sel

Kita juga boleh memasukkan lajur berdasarkan nilai sel juga. Contohnya, lihat data di bawah.

Di sini saya ingin memasukkan lajur jika nilai sel baris pertama adalah "Tahun", dan data saya harus seperti ini setelah memasukkan lajur baru.

Gunakan kod di bawah untuk melaksanakan tugas ini.

Kod:

Sub LajurInsert_Contoh4 () Dim k Sebagai Integer Dim x Sebagai Integer x = 2 Untuk k = 2 Hingga 12 Jika Sel (1, x). Nilai = "Tahun" Kemudian Sel (1, x) .EntireColumn.Insert x = x + 1 Tamat Jika x = x + 1 Seterusnya k Akhir Sub

Anda boleh memuat turun VBA Insert Columns Excel ini di sini. Templat Excel Memasukkan Lajur VBA

Artikel menarik...