Bagaimana cara menyisipkan kolom menggunakan vba?
Pada tutorial ini kita akan melihat cara menyisipkan kolom menggunakan kode VBA di Excel. Kami juga akan mengeksplorasi berbagai cara untuk menulis makro untuk ini.
Sisipkan satu kolom menggunakan VBA
Untuk menyisipkan kolom menggunakan kode VBA, Anda perlu menggunakan properti “Keseluruhan Kolom” dengan metode “Sisipkan”. Dengan properti kolom keseluruhan, Anda bisa mereferensikan seluruh kolom menggunakan sel lalu menyisipkan kolom baru. Secara default, ini akan menyisipkan kolom sebelum sel yang Anda sebutkan.
- Pertama, tentukan sel menggunakan objek rentang.
- Sekarang masukkan titik (.) untuk mendapatkan daftar properti dan metode.
- Setelah itu, pilih properti “Keseluruhan Kolom” atau ketik.
- Terakhir, masukkan titik (.) lagi dan pilih metode “Sisipkan” atau ketik.
Range("A1").EntireColumn.Insert
Kode Anda siap di sini untuk menyisipkan kolom. Sekarang ketika Anda menjalankan kode ini, kolom baru langsung dimasukkan sebelum kolom A.
Sisipkan beberapa kolom
Ada dua cara untuk memasukkan banyak kolom ke dalam spreadsheet yang saya temukan. Yang pertama adalah metode penyisipan yang sama yang kita gunakan pada contoh di atas. Dengan ini, Anda perlu menentukan rentang kolom yang jumlahnya sama dengan nomor kolom yang ingin Anda sisipkan.
Sekarang misalkan Anda ingin menyisipkan 5 kolom setelah kolom C seandainya Anda bisa menggunakan kode seperti ini.
Range("C:G").EntireColumn.Insert
Sejujurnya, menurut saya metode ini tidak terlalu berguna karena Anda harus mengubah rentangnya jika ingin mengubah kodenya sendiri. Nah, inilah cara kedua.
'variables to use in the code Dim iCol As Long Dim iCount As Long Dim i As Long 'to get the number of columns that you want to insert with an input box iCount = InputBox(Prompt:="How many column you want to add?") 'to get the column number where you want to insert the new column iCol = InputBox _ (Prompt:= _ "After which column you want to add new column? (Enter the column number)") 'loop to insert new column(s) For i = 1 To iCount Columns(iCol).EntireColumn.Insert Next i
Saat Anda menjalankan kode ini, kode ini meminta Anda memasukkan jumlah kolom yang ingin Anda tambahkan dan kemudian nomor kolom tempat Anda ingin menambahkan semua kolom baru ini. Ini menggunakan loop FOR (For Next) untuk memasukkan jumlah kolom yang Anda sebutkan.
Sisipkan kolom berdasarkan nilai sel
Jika Anda ingin menyisipkan kolom berdasarkan nilai sel, Anda dapat menggunakan kode berikut.
Dim iCol As Long Dim iCount As Long Dim i As Long iCount = Range("A1").Value iCol = Range("B1").Value For i = 1 To iCount Columns(iCol).EntireColumn.Insert Next i
Saat Anda menjalankan makro ini, dibutuhkan jumlah kolom dari sel A1 dan kolom yang ingin Anda tambahi kolom dari sel B1.
Sisipkan kolom tanpa memformat
Saat Anda menyisipkan kolom yang kolom di atasnya memiliki format tertentu, maka kolom tersebut juga akan memiliki format tersebut secara otomatis. Dan cara termudah untuk menangani situasi ini adalah dengan menggunakan format yang jelas. Perhatikan kode berikut.
Columns(7).EntireColumn.Insert Columns(7).ClearFormats
Saat Anda menjalankan kode di atas, ia akan menyisipkan kolom baru sebelum kolom ke-7 . Sekarang yang terjadi adalah ketika Anda menyisipkan kolom sebelum kolom ke-7 , kolom baru ini menjadi kolom ke-7 , lalu baris kode kedua menghapus formatnya.
Sisipkan kolom yang disalin
Anda juga dapat menggunakan metode yang sama untuk menyalin kolom dan menyisipkannya di tempat lain. Lihat kode berikut.
Application.CutCopyMode = False With Worksheets("Data") .Columns(5).Copy .Columns(9).Insert Shift:=xlShiftDown End With Application.CutCopyMode = True