Buku Kerja VBA Ini

Buku Kerja Excel VBA ini

VBA ThisWorkbook bermaksud buku kerja di mana kita menulis kod excel. Sebagai contoh, jika anda bekerja di buku kerja yang dinamakan sebagai “Sales 2019.xlsx” biasanya kami merujuk buku kerja seperti ini.

Buku kerja ("Jualan 2019.xlsx"). Aktifkan

Kod tersebut akan mengaktifkan buku kerja yang diberi nama "Sales 2019.xlsx".

Daripada menulis seperti ini, kita hanya boleh menulis kod VBA di bawah.

Buku Kerja Ini. Aktifkan '

Di sini ThisWorkbook merujuk kepada buku kerja di mana kita menulis kod. Dengan merujuk perkataan ini, kita dapat melaksanakan semua tugas dalam buku kerja semasa dan mengelakkan kod panjang dengan nama buku kerja yang lengkap.

Saya pasti anda juga pernah melihat perkataan "Buku Kerja Aktif" semasa anda merujuk kepada kod yang lain. Ini juga merupakan salah satu perkataan yang sering digunakan dalam pengekodan. Kita akan melihat apa perbezaan antara kedua-dua perkataan ini dalam asasnya.

Bekerja dengan ThisWorkbook dalam Excel VBA

Kata rujukan "ThisWorkbook" lebih dipercayai daripada kelayakan objek Workbooks. Salah satu kecenderungan manusia adalah dengan salah menaip nama buku kerja yang mengakibatkan mereka membuang mesej kesalahan.

Satu sebab yang lebih penting mengapa VBA ThisWorkbook lebih dipercayai kerana sekiranya sekiranya kita menukar nama buku kerja kita perlu mengubah kodnya kerana kita telah menggunakan perkataan "ThisWorkbook".

Jadi, ThisWorkbook lebih selamat digunakan untuk merujuk kepada buku kerja di mana kita menulis kodnya.

Anda boleh memuat turun Templat Excel VBA ThisWorkbook ini di sini - Templat VBA ThisWorkbook Excel ini

Contoh # 1

Kita akan melihat beberapa contoh di mana kita boleh menggunakan perkataan ThisWorkbook di excel VBA. Kod berikut akan mencetak nama buku kerja.

Kod:

 Sub TWB_Example1 () Dim WBName As String WBName = ThisWorkbook.Name MsgBox WBName End Sub 

Apabila anda menjalankan kod secara manual atau menggunakan kekunci F5, kod di atas akan menunjukkan nama buku kerja di kotak mesej di VBA.

Contoh # 2

Daripada menggunakan kata "Buku Kerja Ini", kita boleh menggunakan pemboleh ubah untuk menetapkan rujukan buku kerja dan bahkan mengurangkan panjang kod secara drastik di VBA. Contohnya, lihat dahulu kod di bawah.

Kod:

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

Kod di atas telah menggunakan "ThisWorkbook" di setiap baris kod. Betapa sukarnya menaip perkataan itu setiap masa. Jadi, kita dapat meminimumkan ini dengan menggunakan pemboleh ubah.

Sekarang, lihat kod di bawah dengan pemboleh ubah.

Kod:

 Sub TWB_Contoh2 () Dim Wb Sebagai Set Buku Kerja Wb = ThisWorkbook Wb.Aktifkan Wb.Worksheets ("Sheet1"). Aktifkan Wb.Save Wb.Close Wb.SaveAs End Sub 

Nampak cantik, bukan ??

Izinkan saya menerangkan kodnya kepada anda semua.

Mula-mula saya telah menyatakan pemboleh ubah sebagai objek Buku Kerja.

Dim Wb Sebagai Buku Kerja

Oleh kerana ini adalah pemboleh ubah objek, kita perlu menetapkan rujukan ke buku kerja tertentu. Oleh itu, saya telah menggunakan rujukan "ThisWorkbook".

Tetapkan Wb = Buku Kerja Ini

Sekarang pemboleh ubah "Wb" dirujuk ke buku kerja di mana kita sedang menulis kodnya pada masa ini. Dari sini untuk meneruskan prosedur, kita tidak perlu menggunakan kata "ThisWorkbook" sebaliknya kita boleh menggunakan pemboleh ubah "Wb"

Buku Kerja Aktif vs ThisWorkbook dalam Excel VBA

Seperti yang saya ceritakan pada awal artikel, banyak pengekod menggunakan perkataan Active Workbook & ThisWorkbook dengan kerap dalam pengekodan VBA mereka. Sebagai pembaca atau pelajar baru, tidak mudah untuk memahami kedua-duanya. Oleh itu, izinkan saya menjelaskan kepada anda beberapa perbezaan.

Perbezaan # 1: Makna

  • Buku Kerja Aktif: Buku Kerja Aktif tidak semestinya buku kerja di mana kita sedang menulis kod pada masa ini. Sekiranya anda mempunyai banyak buku kerja yang dibuka dan mana-mana buku kerja yang dapat dilihat di skrin anda dianggap sebagai Buku Kerja Aktif .
  • ThisWorkbook: ThisWorkbook selalu menjadi buku kerja tempat kami menulis kod ketika ini.

Perbezaan 2: Kesalahan Kesalahan

  • Buku Kerja Aktif: Menggunakan Aktif dalam pengekodan boleh menyebabkan banyak kesilapan dan kekeliruan kerana kita tidak pernah tahu buku kerja mana yang aktif kecuali kita menyebut buku kerja untuk diaktifkan sebelum menggunakan kata Buku Kerja Aktif.
  • ThisWorkbook: ThisWorkbook tidak boleh salah kerana tidak peduli buku kerja mana yang aktif, ia selalu mengambil rujukan buku kerja tempat kita menulis kodnya.