VBA Buku Kerja Ini

Excel VBA Buku Kerja Ini

VBA ThisWorkbook berarti buku kerja tempat kami menulis kode excel. Misalnya, jika Anda sedang mengerjakan buku kerja yang dinamai "Penjualan 2019.xlsx", kami biasanya merujuk ke buku kerja seperti ini.

Buku Kerja ("Penjualan 2019.xlsx"). Aktifkan

Kode akan mengaktifkan buku kerja bernama "Penjualan 2019.xlsx".

Daripada menulis seperti ini, kita cukup menulis kode VBA di bawah ini.

ThisWorkbook.Activate '

Di sini Buku Kerja Ini mengacu pada buku kerja tempat kami menulis kode. Dengan merujuk kata ini kita dapat menjalankan semua tugas di buku kerja saat ini dan menghindari kode panjang dengan nama buku kerja yang diberi nama lengkap.

Saya yakin Anda pasti pernah melihat kata "Buku Kerja Aktif" saat Anda mengacu pada kode lain. Ini juga salah satu kata yang sering digunakan dalam pengkodean. Kita akan melihat apa perbedaan antara kedua kata dasar ini.

Bekerja dengan Buku Kerja Ini di Excel VBA

Kata referensi "ThisWorkbook" lebih dapat diandalkan daripada qualifier objek Workbooks. Salah satu kecenderungan manusia adalah salah mengetik nama workbook yang mengakibatkan munculnya pesan error.

Satu lagi alasan penting mengapa VBA ThisWorkbook lebih dapat diandalkan karena untuk berjaga-jaga jika kita mengubah nama workbook kita perlu mengubah kodenya karena kita telah menggunakan kata “ThisWorkbook”.

Jadi, Buku Kerja Ini lebih aman digunakan untuk merujuk ke buku kerja tempat kami menulis kode.

Anda dapat mengunduh Template Excel Buku Ini VBA di sini - Template Excel Buku Ini VBA

Contoh 1

Kita akan melihat beberapa contoh di mana kita dapat menggunakan kata ThisWorkbook di excel VBA. Kode berikut akan mencetak nama buku kerja.

Kode:

 Sub TWB_Example1 () Redupkan WBName Sebagai String WBName = Buku Kerja Ini.Nama MsgBox WBName End Sub 

Ketika Anda menjalankan kode secara manual atau menggunakan tombol F5 maka kode di atas akan menampilkan nama buku kerja di kotak pesan di VBA.

Contoh # 2

Daripada menggunakan kata "Buku Kerja Ini" kita dapat menggunakan variabel untuk mengatur referensi buku kerja dan bahkan mengurangi panjang kode secara drastis di VBA. Misalnya, lihat kode di bawah ini terlebih dahulu.

Kode:

 Sub TWB_Example2 () ThisWorkbook.Aktifkan ThisWorkbook.Worksheets ("Sheet1"). Aktifkan ThisWorkbook.Save ThisWorkbook.Close ThisWorkbook.SaveAs End Sub 

Kode di atas telah menggunakan “ThisWorkbook” di setiap baris kode. Betapa sulitnya mengetik kata setiap saat. Jadi, kita bisa meminimalkan ini dengan menggunakan variabel.

Sekarang, lihat kode di bawah ini dengan variabel.

Kode:

 Sub TWB_Example2 () Dim Wb As Workbook Set Wb = ThisWorkbook Wb.Aktifkan Wb.Worksheets ("Sheet1"). Aktifkan Wb.Save Wb.Close Wb.SaveAs End Sub 

Terlihat cantik bukan ??

Biar saya jelaskan kodenya kepada kalian.

Pertama saya telah mendeklarasikan variabel sebagai objek Workbook.

Redupkan Wb Sebagai Buku Kerja

Karena ini adalah variabel objek, kita perlu mengatur referensi ke buku kerja tertentu. Jadi saya telah menggunakan referensi "Buku Kerja Ini".

Setel Wb = Buku Kerja Ini

Sekarang variabel "Wb" direferensikan ke buku kerja tempat kami menulis kode saat ini. Dari sini untuk selanjutnya dalam prosedur kita tidak perlu menggunakan kata “ThisWorkbook” melainkan kita dapat menggunakan variabel “Wb”

Buku Kerja Aktif vs Buku Kerja Ini di Excel VBA

Seperti yang saya ceritakan di awal artikel, banyak pembuat kode menggunakan kata Active Workbook & ThisWorkbook sangat sering dalam pengkodean VBA mereka. Sebagai pembaca atau pembelajar baru, tidak mudah untuk memahami keduanya. Jadi, izinkan saya menjelaskan kepada Anda beberapa perbedaannya.

Perbedaan # 1: Arti

  • Buku Kerja Aktif: Buku Kerja Aktif belum tentu buku kerja tempat kami menulis kode saat ini. Jika Anda memiliki beberapa buku kerja yang dibuka dan buku kerja mana pun yang terlihat di layar Anda dianggap sebagai Buku Kerja Aktif .
  • ThisWorkbook: ThisWorkbook selalu merupakan buku kerja tempat kami menulis kode saat ini.

Selisih 2: Peluang Kesalahan

  • Buku Kerja Aktif: Menggunakan Aktif dalam pengkodean dapat menyebabkan banyak kesalahan dan kebingungan karena kami tidak pernah tahu buku kerja mana yang aktif kecuali kami secara khusus menyebutkan buku kerja yang harus diaktifkan sebelum menggunakan kata Buku Kerja Aktif.
  • ThisWorkbook: ThisWorkbook tidak bisa salah karena tidak masalah buku kerja mana yang aktif selalu mengambil referensi dari buku kerja tempat kita menulis kode.