Cara Mengendalikan Kumpulan Workbook Excel dengan Macro VBA
Anda mengenal sebuah sel dalam Excel menempati tingkat yang paling bawah dan merupakan bagian dari Worksheet dan Worksheet adalah bagian dari Workbook.
Workbook adalah objek Excel sebelum nantinya diterbitkan menjadi suatu file Excel.
Workbook bisa juga Anda sebut sebagai tingkat yang tertinggi di Excel namun dalam VBA dikenal ada sebuah objek bernama Application, yang mana merupakan yang paling tinggi ibarat dalam rantai makanan, jika objek workbook mewakili file Excel secara individu maka objek Application mewakili program Excel secara keseluruhan.
Anda bisa membuka workbook sebanyak mungkin menjadi sekumpulan workbook.
Jika Anda ingin mengaktifkan workbook tertentu yang Anda tidak diketahui namanya atau Anda ingin mengerjakan beberapa tugas di setiap workbook yang membuka maka Anda perlu mengerahkan kumpulan workbook.
Ini adalah contoh perintah untuk membuat workbook baru.
Workbooks.Add
Saat perintah dalam garis kode ini dijalankan misalnya pada jendela Immediate (tekan Ctrl+G di VBE), maka workbook yang aktif berubah menjadi workbook baru karena telah Anda tambahkan, ini sama pengaruhnya dengan menambahkan sebuah workbook baru secara manual dari workbook yang sudah ada (yang sedang membuka) pada saat workbook yang baru tersebut Anda tambahkan maka itulah workbook yang diaktifkan.
Ada beberapa pertanyaan berkenaan dengan kumpulan workbook dengan Macro VBA.
Bagaimana cara menambahkan workbook sebanyak dua atau lebih dari sebuah workbook yang sudah ada di Macro VBA?
Jika kumpulan workbook tersebut sudah ditambahkan, bagaimana cara mengakhiri Macro dalam keadaan workbook pertama yang aktif di layar (bukan workbook yang terakhir ditambahkan)?
Dalam kumpulan workbook, bagaimana Anda menentukan objek workbook manakah yang ingin Anda lakukan sesuatu kepadanya namun Anda tidak mengetahui nama-nama dari workbook yang membuka tersebut?
Cara Membuka Kumpulan Workbook
Ada beberapa metode untuk menjawab persoalan tersebut di atas, salah satu metode diantaranya yaitu memiliki kemampuan untuk menentukan suatu variabel dari setiap workbook yang Anda tambahkan, lalu mengaktifkan workbook manakah yang variabelnya Anda berikan perhatian.
Contoh kode macro di bawah ini menambahkan tiga buah workbook dan mengakhiri macro dengan mengaktifkan workbook pertama ditambahkan.
Dim TW1 As Workbook
Dim TW2 As Workbook
Dim TW3 As Workbook
Set TW1 = Workbooks.Add
Set TW2 = Workbooks.Add
Set TW3 = Workbooks.Add
TW1.Activate
End Sub
Cara Menutup Kumpulan Workbook Lainnya
Anda tak perlu memikirkan berapa banyak workbook yang membuka atau nama-nama setiap workbook yang telah tersimpan, Anda hanya perlu memberitahukan VBA untuk melihat kepada objek workbook dalam kumpulan workbook tersebut.
Contoh kodenya seperti ini untuk memberikan perintah menutup semua workbook dengan menyimpan perubahan pada workbook yang telah disimpan menjadi file:
Dim W As Workbook
For Each W In Workbooks
If W.Name <> ThisWorkbook.Name Then
W.Close SaveChanges:=True
End If
Next W
End Sub
Demikian cara membuat kendali terhadap kumpulan Workbook di Excel dengan Macro VBA.
Semoga bermanfaat.
