Masukkan Lajur 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 masukkan 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 kami 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.

Sebagai contoh, jika anda ingin memasukkan lajur selepas lajur B maka 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") Akhir Sub 

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 End Sub 

Jalankan kod yang akan memasukkan lajur B baru.

Contoh # 2 - Masukkan Pelbagai Lajur

Sebagai contoh, jika anda ingin memasukkan dua lajur baru selepas lajur A, maka kita perlu menyebut dua alamat lajur.

Kod:

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

Kod di atas akan memasukkan dua lajur selepas lajur A.

Contoh # 3 - Dengan Kaedah "Masukkan" Sahaja

Kita boleh memasukkan lajur baru dengan menggunakan satu-satunya kaedah "Sisipkan" tanpa mengakses harta Seluruh Lajur. Untuk ini mari kita fahami sintaks kaedah "sisipkan".

Ungkapan. Masukkan ([Shift], [Salin Asal])

[Shift]: Ketika kita memasukkan lajur baru sama ada kita memerlukan lajur beralih ke sisi kanan atau beralih ke sisi bawah sekiranya terdapat baris. Di sini kita dapat menggunakan dua pilihan "xlToRight" dan "xlDownTo"

[Salin Asal]: Ini akan menentukan format untuk lajur yang baru dimasukkan. Sama ada anda memerlukan format dari sebelah kiri lajur atau dari sel di atas. Di sini kita dapat menggunakan dua pilihan "xlFormatFromLeftOrAbove" dan "xlFormatFromRightOrBelow".

Berikut adalah contoh kod untuk anda.

 Sub LajurInsert_Example1 () Julat ("B: B"). Masukkan Shift: = xlToRight, Copyorigin: = xlFormatFromLeftOrAbawah End Sub 

Contoh # 4 - Masukkan Lajur Menggunakan COLUMNS Property di VBA

Kami telah melihat bagaimana VBA memasukkan lajur menggunakan objek RANGE, sekarang kami akan menunjukkan bahawa kami dapat memasukkan lajur menggunakan properti "COLUMNS".

Buka harta COLUMNS.

Kod:

 Sub ColumnInsert_Example2 () Columns (End Sub 

Kita boleh menentukan lajur dengan dua cara di sini. Satu menggunakan rujukan abjad seperti biasa dan yang lain menggunakan nombor lajur.

If you want to insert the column after the 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 to 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. Below code it the 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 

This will insert the column like this.

Example #6 – Insert Column Based on Cell Value

We can also insert a column based on cell value as well. For example, look at the below data.

Here I want to insert the column if the first-row cell value is “Year” and my data should like this after inserting new columns.

Use the below code to perform this task.

Code:

 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 

You can download this VBA Insert Columns Excel here. VBA Insert Columns Excel Template