Panduan untuk bekerja dengan buku kerja di vba
Di Excel, buku kerja adalah salah satu objek Excel yang paling penting, dan penting juga untuk memahami cara menggunakan dan merujuk ke buku kerja saat menulis kode VBA.
Dalam tutorial ini, kita akan menjelajahi semua hal yang perlu Anda ketahui. Namun, hal pertama yang perlu Anda pahami adalah objek yang terlibat dalam pengerjaan buku kerja di VBA.
Hal yang perlu diketahui:
- Objek pengikat
- Benda pengikat
Kedua benda ini terdengar sama, namun ada perbedaan mendasar di antara keduanya.
Objek pengikat
Di VBA, objek Workbooks mewakili kumpulan buku kerja yang dibuka di Microsoft Excel. Bayangkan Anda memiliki sepuluh lemari arsip yang terbuka pada saat yang bersamaan. Dan Anda ingin merujuk ke satu-satunya buku kerja di antara mereka. Dalam hal ini, Anda harus menggunakan objek buku kerja untuk merujuk ke buku kerja ini menggunakan namanya.
Benda pengikat
Di VBA, objek buku kerja mewakili satu buku kerja di antara semua buku kerja yang sedang dibuka di Microsoft Excel. Cara terbaik untuk memahami hal ini adalah dengan memikirkan mendeklarasikan variabel sebagai pengikat yang ingin Anda gunakan untuk merujuk ke pengikat tertentu dalam kode.
Tautan yang berguna : Tambahkan tab Pengembang | Editor Visual Dasar | Jalankan makro | Buku Kerja Makro Pribadi
Lihat buku kerja di VBA
Untuk bekerja dengan buku kerja di VBA, hal pertama yang perlu Anda ketahui adalah cara mereferensikan buku kerja di makro. Inilah hal yang menyenangkan: ada beberapa cara untuk merujuk ke buku kerja. Dan di masa depan, kita akan mengeksplorasi masing-masingnya.
1. Berdasarkan nama
Cara termudah untuk merujuk ke buku kerja adalah dengan namanya. Misalkan Anda ingin mengaktifkan buku kerja Book1.xlsx, dalam hal ini kode yang perlu Anda gunakan adalah sebagai berikut:
Merujuk ke buku kerja dengan namanya cukup sederhana, Anda perlu menentukan namanya, dan selesai. Namun ada satu hal yang perlu Anda perhatikan : jika buku kerja tidak disimpan, Anda hanya perlu menggunakan namanya saja. Dan jika sudah terdaftar, harus menggunakan nama yang berekstensi .
2. Berdasarkan nomor
Saat Anda membuka buku kerja, Excel memberikan nomor indeks ke buku kerja itu, dan Anda bisa menggunakan nomor itu untuk merujuk ke buku kerja. Buku kerja yang Anda buka pertama kali akan memiliki nomor indeks “1” dan yang kedua akan memiliki “2” dan seterusnya.
Cara ini mungkin terasa kurang nyata bagi Anda karena sulit mengetahui buku kerja mana yang memiliki nomor indeks mana. Namun ada satu situasi di mana metode ini sangat berguna untuk digunakan, dan itu adalah perulangan melalui semua buku kerja yang terbuka.
3. Melalui Buku Kerja Ini
Buku kerja ini adalah properti yang membantu Anda merujuk ke buku kerja tempat Anda menulis kode. Katakanlah Anda menulis kode di “Buku1” dan menggunakan Buku Kerja Ini untuk menyimpan buku kerja. Sekarang bahkan ketika Anda mengubah nama buku kerja, Anda tidak perlu mengubah kodenya.
Kode di atas menghitung jumlah lembar di buku kerja tempat kode ini ditulis dan menampilkan kotak pesan beserta hasilnya.
4. Dengan Buku Kerja Aktif
Jika Anda ingin mereferensikan buku kerja yang aktif, Anda harus menggunakan properti “ActiveWorkbook”. Penggunaan terbaik properti ini adalah ketika Anda yakin buku kerja mana yang diaktifkan sekarang. Atau Anda sudah mengaktifkan buku kerja yang ingin Anda kerjakan.
Kode di atas terlebih dahulu mengaktifkan buku kerja “Buku1”, kemudian menggunakan properti buku kerja aktif untuk menyimpan dan menutup buku kerja yang aktif.
Akses semua metode dan properti
Di VBA, kapan pun Anda merujuk ke suatu objek, VBA memungkinkan Anda mengakses properti dan metode yang disediakan bersama objek tersebut. Demikian pula, objek buku kerja dilengkapi dengan properti dan metode. Untuk mengaksesnya, Anda harus menentukan buku kerja terlebih dahulu, lalu memasukkan titik .
Saat Anda mengetikkan titik (.), ini akan menampilkan daftar properti dan metode. Sekarang Anda pasti mempunyai pertanyaan tentang bagaimana mengidentifikasi mana yang merupakan properti dan mana yang merupakan metode.
Inilah triknya. Jika Anda perhatikan lebih dekat, Anda dapat mengidentifikasi batu bata hijau bergerak dan tangan abu-abu di depan setiap nama dalam daftar. Jadi semua properti memiliki tangan abu-abu sebelum namanya dan metode memiliki batu bata hijau yang bergerak.
Misalnya saja menggunakan metode dengan buku kerja
Bayangkan Anda ingin menutup buku kerja (yang merupakan sebuah metode), Anda perlu mengetik atau memilih “Tutup” dari daftar.
Setelah itu, Anda perlu memasukkan tanda kurung awal agar IntelliSense mengetahui argumen apa yang perlu Anda tetapkan.
Dengan metode close Anda perlu mendefinisikan tiga argumen dan seperti yang Anda lihat, semua argumen ini bersifat opsional dan Anda dapat mengabaikannya jika Anda mau. Namun beberapa metode tidak memiliki argumen (misalnya: aktifkan)
Misalnya, untuk menggunakan properti dengan buku kerja
Bayangkan Anda ingin menghitung lembar buku kerja “book1”. Dalam hal ini, Anda perlu menggunakan properti “Sheets” dan kemudian properti count tambahannya.
Pada kode di atas, seperti yang saya katakan, Anda menyetel book1, lalu properti sheet merujuk ke semua sheet, lalu properti count untuk menghitungnya. Dan ketika Anda menjalankan kode ini, ia menampilkan kotak pesan dengan hasilnya.
Menggunakan pernyataan “DENGAN” dengan buku kerja
Di VBA, terdapat pernyataan “Dengan” yang bisa membantu Anda bekerja dengan buku kerja sambil menulis makro secara efisien. Mari kita lihat contoh di bawah ini di mana Anda memiliki tiga baris kode berbeda dengan buku kerja yang sama yaitu ActiveWorkbook.
Dengan pernyataan “DENGAN”, Anda bisa merujuk ke buku kerja aktif hanya sekali dan menggunakan semua properti dan metode yang Anda miliki dalam kode.
- Pertama, Anda harus memulai dengan pernyataan awal “Dengan ActiveWorkbook” dan mengakhiri pernyataan dengan “End With”.
- Setelah itu, Anda perlu menulis kode di antara pernyataan yang Anda miliki pada contoh di atas.
Seperti yang Anda lihat pada kode di atas, kami telah merujuk ke ActiveWorkbook menggunakan pernyataan WITH dan kemudian semua properti dan metode harus digunakan.
Sub vba_activeworkbook_with_statement() With ActiveWorkbook .Sheets.Add Count:=5 .Charts.Visible = False .SaveAs ("C:UsersDellDesktopmyFolderbook2.xlsx") End With End Sub
Izinkan saya memberi Anda contoh sederhana dan konkrit untuk membuat Anda memahami segalanya. Bayangkan Anda meminta saya pergi ke kamar 215 untuk mengambil botol air, dan ketika saya kembali, Anda mengirim saya ke kamar 215 lagi untuk mengambil pulpen, lalu mengirim saya lagi untuk mengambil laptop. Sekarang masalahnya: semua barang yang kamu suruh aku ambil ada di kamar 215. Jadi lebih baik jika kamu mengirimku ke kamar 215 dan menyuruhku untuk mengambil ketiga barang itu sekaligus.
Baca: Dengan – Diakhiri dengan
Mendeklarasikan variabel sebagai buku kerja
Terkadang Anda perlu mendeklarasikan variabel sebagai pengikat untuk menggunakannya lebih lanjut dalam kode. Yah, itu tidak memerlukan sesuatu yang istimewa dari Anda.
- Gunakan pernyataan DIM (deklarasikan).
- Tuliskan nama variabelnya.
- Atur tipe variabel ke Buku Kerja.
Berurusan dengan kesalahan
Saat bekerja dengan satu atau lebih objek buku kerja di VBA, Anda mungkin juga perlu menangani kesalahan. Mari kita ambil contoh kesalahan “Runtime error 9: Index out of range” . Kesalahan ini dapat terjadi karena berbagai alasan.
- Buku kerja yang Anda coba rujuk tidak terbuka.
- Mungkin Anda salah mengeja namanya.
- Buku kerja yang Anda maksud belum disimpan dan Anda menggunakan ekstensi dengan nama tersebut.
- Jika Anda menggunakan nomor indeks untuk merujuk ke buku kerja dan nomor yang Anda gunakan lebih besar dari jumlah total buku kerja yang terbuka.