Saat bekerja dengan sumber data yang bervariasi, Anda mungkin sering kesulitan untuk mengompilasi beberapa buku kerja dan lembar kerja sebelum sampai pada satu bagian data akhir. Bayangkan situasi di mana Anda memiliki beberapa ratus buku kerja untuk digabungkan bahkan sebelum Anda dapat memulai hari Anda.

Tidak ada yang ingin menghabiskan waktu berjam-jam mengerjakan sumber yang berbeda, membuka setiap buku kerja, menyalin dan menempelkan data dari berbagai lembar, sebelum akhirnya membuat satu buku kerja gabungan. Bagaimana jika makro VBA dapat melakukan ini untuk Anda?

Dengan panduan ini, Anda dapat membuat kode makro Excel VBA Anda sendiri untuk menggabungkan beberapa buku kerja, semuanya dalam hitungan menit (jika file datanya banyak).

Prasyarat untuk Membuat Kode Makro VBA Anda Sendiri

Anda memerlukan satu buku kerja untuk menampung kode VBA, sedangkan buku kerja data sumber lainnya terpisah. Selain itu, buat satu buku kerja Konsolidasi untuk menyimpan data gabungan dari semua buku kerja Anda.

instagram viewer

Buat folder Konsolidasi di lokasi pilihan Anda untuk menyimpan semua buku kerja sumber Anda. Ketika makro berjalan, itu akan beralih melalui setiap buku kerja yang disimpan dalam folder ini, menyalin konten dari berbagai lembar, dan menempatkannya di buku kerja Konsolidasi.

Membuat Kode VBA Excel Anda Sendiri

Setelah prasyarat selesai, sekarang saatnya untuk mempelajari kode dan mulai meretas dasar-dasarnya untuk menyesuaikannya dengan kebutuhan Anda.

Terkait: Fitur Lanjutan Microsoft Excel yang Harus Anda Ketahui

tekan Alt+F11 di Excel untuk membuka editor kode makro VBA. Rekatkan kode yang tertulis di bawah ini dan simpan file sebagai buku kerja berkemampuan Makro (.xlsm perpanjangan).

Sub file terbuka()

'deklarasikan variabel yang digunakan dalam kode VBA

Redupkan MyFolder As String, MyFile As String, wbmain As Workbook, lastrow As Long

'nonaktifkan fungsi ini untuk meningkatkan pemrosesan kode

Dengan Aplikasi
.DisplayAlerts = Salah
.ScreenUpdating = Salah
Berakhir dengan

'ubah jalur folder tempat file Anda akan disimpan

MyFolder = InputBox("Masukkan jalur folder Konsolidasi") & "\"

'tentukan referensi folder dalam variabel makro

File Saya = Dir (Folder Saya)

'buka satu lingkaran untuk menelusuri setiap buku kerja individu yang disimpan dalam folder

Lakukan Sementara Len (File Saya) > 0

'aktifkan buku kerja Konsolidasi

Windows("Konsolidasi").Aktifkan

'hitung baris terakhir yang terisi

Rentang("a1048576").Pilih
Pilihan. Akhir (xlUp).Pilih
Sel aktif. Offset (1, 0).Pilih

'buka buku kerja pertama di dalam folder Konsolidasi

Buku kerja. Buka Nama File:=Folder Saya & File Saya

Windows (File Saya). Aktifkan

'beralih melalui setiap lembar dalam buku kerja untuk menyalin data

Redupkan Sebagai Lembar Kerja
Untuk Setiap ws Dalam Lembar

ws. Mengaktifkan
ws. AutoFilterMode = Salah

'abaikan header dan salin data dari baris 2
Jika Sel (2, 1) = "" Kemudian GoTo 1

Pergi ke 10

1: Selanjutnya

10: Range("a2:az20000").Copy

Windows("Konsolidasi").Aktifkan

'tempelkan konten yang disalin

Lembar aktif. Tempel

Windows (File Saya). Aktifkan

'tutup buku kerja yang terbuka setelah data ditempelkan

Buku Kerja Aktif. Menutup

'kosongkan cache untuk menyimpan nilai buku kerja berikutnya

File Saya = Dir()

'buka file berikutnya di folder

Lingkaran

'aktifkan fungsi yang dinonaktifkan untuk penggunaan di masa mendatang

Dengan Aplikasi
.DisplayAlerts = Benar
.ScreenUpdating = Benar
Berakhir dengan

Akhir Sub

Kode VBA Dijelaskan

Bagian pertama dari kode adalah mendefinisikan subrutin, yang menampung semua kode VBA Anda. Definisikan subrutin dengan sub, diikuti dengan nama kode. Nama sub bisa apa saja; idealnya, Anda harus menyimpan nama yang relevan dengan kode yang akan Anda tulis.

Terkait: Situs Web dan Blog untuk Mempelajari Tip dan Trik Excel

Excel VBA memahami variabel yang dibuat pengguna dan tipe data terkait yang dideklarasikan dengan redup (dimensi).

Untuk meningkatkan kecepatan pemrosesan kode Anda, Anda dapat mematikan pembaruan layar dan menekan semua peringatan, karena itu memperlambat eksekusi kode.

Pengguna akan diminta untuk jalur folder tempat file data disimpan. Sebuah loop dibuat untuk membuka setiap buku kerja yang disimpan di dalam folder, menyalin data dari setiap lembar, dan menambahkannya ke Konsolidasi buku kerja.

Buku kerja Konsolidasi diaktifkan sehingga Excel VBA dapat menghitung baris terakhir yang diisi. Sel terakhir dalam lembar kerja dipilih, dan baris terakhir dihitung dalam buku kerja menggunakan fungsi offset. Ini sangat berguna, ketika makro mulai menambahkan data dari file sumber.

Saat loop membuka file sumber pertama, filter dihapus dari setiap lembar (jika ada), dan data mulai dari A2 hingga AZ20000 akan disalin dan ditempelkan ke Konsolidasi buku kerja.

Proses ini diulang sampai semua lembar buku kerja ditambahkan di dalam buku kerja master.

Terkait: Kursus Online Terbaik untuk Menguasai Excel Lanjut

Akhirnya, file sumber ditutup setelah semua data ditempelkan. Buku kerja berikutnya dibuka sehingga makro VBA dapat mengulangi langkah yang sama untuk kumpulan file berikutnya.

Loop dikodekan untuk dijalankan hingga semua file diperbarui secara otomatis di buku kerja master.

Kustomisasi Berbasis Pengguna

Terkadang, Anda tidak ingin khawatir tentang perintah bawaan, terutama jika Anda adalah pengguna akhir. Jika Anda lebih suka membuat hardcode jalur folder Konsolidasi dalam kode, Anda dapat mengubah bagian kode ini:

MyFolder = InputBox("Masukkan jalur folder Konsolidasi") & "\"

Ke:

MyFolder = “Jalur folder” & "\"

Selain itu, Anda juga dapat mengubah referensi kolom, karena langkah tersebut tidak disertakan dalam kode ini. Cukup ganti referensi kolom akhir dengan nilai kolom yang terakhir diisi (AZ, dalam hal ini). Perlu Anda ingat bahwa baris terakhir yang terisi dihitung melalui kode makro, jadi Anda hanya perlu mengubah referensi kolom.

Untuk memaksimalkan makro ini, Anda bisa menggunakannya hanya untuk menggabungkan buku kerja dalam format yang sama. Jika strukturnya berbeda, Anda tidak dapat menggunakan makro VBA ini.

Mengonsolidasikan Beberapa Buku Kerja Menggunakan Excel VBA Macro

Membuat dan memodifikasi kode Excel VBA relatif mudah, terutama jika Anda memahami beberapa nuansa di dalam kode. VBA secara sistematis berjalan melalui setiap baris kode dan mengeksekusinya baris demi baris.

Jika Anda membuat perubahan pada kode, Anda harus memastikan bahwa Anda tidak mengubah urutan kode, karena itu akan mengganggu eksekusi kode.

5 Macro Microsoft Excel Keren untuk Menyortir Data

Jadikan pengelolaan data menjadi mudah dengan makro Excel ini.

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Pemrograman
  • Pemrograman
  • Microsoft Excel
Tentang Penulis
Gaurav Siyal (19 Artikel Diterbitkan)

Gaurav Siyal memiliki dua tahun pengalaman menulis, menulis untuk serangkaian perusahaan pemasaran digital dan dokumen siklus hidup perangkat lunak.

More From Gaurav Siyal

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan