Bagaimana cara menggabungkan beberapa buku kerja excel menggunakan vba?
Untuk menggabungkan beberapa buku kerja Excel, Anda perlu menggunakan beberapa kode yang memungkinkan Anda memilih file mana yang ingin Anda gabungkan atau Anda bisa merujuk ke lokasi jalur tertentu dan menggabungkan semua file Excel di buku kerja saat ini.
VBA menggabungkan beberapa buku kerja
Anda dapat menggunakan kode berikut yang menggunakan lokasi yang saya sebutkan di variabel path (folder di desktop sistem saya).
Dim Path As String Dim Filename As String Dim Sheet As Worksheet Path = "C:UsersDellDesktopsample-data" Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop
Langkah-langkah Menggabungkan File Excel Menggunakan VBA
- Buka Visual Basic Editor (pastikan untuk mengaktifkan tab Pengembang jika Anda sudah memilikinya di Ribbon).
- Setelah itu, cari buku kerja saat ini dari jendela proyek (control + r) dan masukkan modul baru ke dalamnya.
- Anda akan memiliki jendela kode di modul (klik dua kali di atasnya) di mana Anda perlu menempelkan kode yang Anda miliki (sebagaimana adanya).
- Dari sini, Anda perlu mengubah nilai variabel jalur dengan lokasi folder tempat semua file Excel yang ingin Anda gabungkan berada.
- Pada akhirnya, jalankan kode dan Anda mendapatkan semua lembar kerja di buku kerja di file saat ini.
Tautan yang berguna: Jalankan makro – Perekam makro – Editor Visual Basic – Buku Pegangan Makro Pribadi
Kode ini membuka setiap file satu per satu dan menyalin setiap lembar kerja satu per satu dan menempelkannya ke file saat ini dengan nama yang sama. Ini adalah kode yang sama tetapi dengan layar diperbarui ke false di awal untuk menjalankan semuanya di backend.
Dim Path As String Dim Filename As String Dim Sheet As Worksheet Application.ScreenUpdating = False Path = "C:UsersDellDesktopsample-data" Filename = Dir(Path & "*.xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop Application.ScreenUpdating = True End Sub
Catatan: Jika Anda ingin mempelajari cara menggabungkan data dari beberapa buku kerja ke dalam satu tabel, pastikan untuk membaca panduan ini.