Pembolehubah Global VBA

Beberapa fungsi didefinisikan di dalam fungsi dan digunakan dalam fungsi dan beberapa pemboleh ubah didefinisikan di luar fungsi dan digunakan oleh semua fungsi dan pemboleh ubah tersebut digunakan sebagai Pembolehubah Global, misalnya, pemboleh ubah yang dinyatakan di bawah sub-fungsi tersebut adalah dikenali sebagai Pembolehubah Global.

Pembolehubah Global dalam Excel VBA

Menyatakan pemboleh ubah nampaknya cukup mudah tetapi untuk mempunyai pengaruh yang baik, kita perlu memahami skop pemboleh ubah tersebut. Selalunya kita menyatakan pemboleh ubah untuk setiap makro di dalam sub prosedur setiap masa. Tetapi dengan menyatakan satu pemboleh ubah, kita dapat menggunakannya dalam semua makro dalam modul yang sama dan juga pada modul lain dari projek VBA semasa. Dalam artikel ini, kami akan menunjukkan kepada anda cara menyatakan Pemboleh ubah Global dalam Excel VBA.

Apakah Pembolehubah Global dalam Excel VBA?

Pembolehubah Global VBA adalah pemboleh ubah yang dinyatakan sebelum permulaan sebarang makro dalam modul. Apabila pemboleh ubah diisytiharkan dengan menggunakan "Umum" atau "Global", ia menjadi "Pembolehubah Global".

Sub Pemboleh ubah Prosedur Tidak Boleh Digunakan Di Mana Saja

Kami biasanya menyatakan pemboleh ubah di dalam subrutin dalam vba dengan menggunakan kata "Dim".

Lihat gambar di atas saya telah menyatakan pemboleh ubah "k" sebagai integer dalam sub prosedur Global_Example1.

Sekiranya kita menggunakan pemboleh ubah ini di dalam prosedur Sub ini pada bila-bila masa. Walau bagaimanapun, saya tidak dapat menggunakan pemboleh ubah ini dalam sub prosedur lain sama ada dalam modul kelas yang sama di VBA atau di modul lain.

Seperti yang ditunjukkan pada gambar di atas pemboleh ubah "k" yang dinyatakan dalam subprosedur Global_Example1 tidak dapat digunakan dalam Sub prosedur Global_Example2.

Begitu juga, pemboleh ubah "j" yang dinyatakan dalam subprosedur Global_Example2 tidak dapat digunakan dalam Sub prosedur Global_Example1 walaupun kedua subprosedur berada dalam modul yang sama.

Bagaimana Menyatakan Pembolehubah Global dalam VBA?

Berikut adalah cara untuk menyatakan pemboleh ubah global dalam excel VBA.

# 1 - Pemboleh ubah Modul boleh digunakan dalam Sub Prosedur dalam Modul yang Sama

Seperti yang telah kita lihat, kita tidak dapat menggunakan pemboleh ubah sub prosedur dalam salah satu modul. Untuk menjadikannya tersedia untuk semua prosedur Sub dalam modul yang sama, kita perlu menyatakan pemboleh ubah di bahagian atas modul.

Pada gambar di atas, saya telah menyatakan pemboleh ubah pada permulaan modul sahaja. Saya telah menyatakan pemboleh ubah "MyNumber" sebagai Integer dalam Modul 1 .

Setelah pemboleh ubah dinyatakan di bahagian atas modul, kita dapat menggunakan pemboleh ubah yang sama untuk semua prosedur Sub lain dalam modul yang sama, dalam hal ini, kita dapat menggunakan pemboleh ubah "MyNumber" untuk semua prosedur Sub dalam Modul 1.

Masalahnya ialah kita tidak dapat menggunakannya dalam modul lain. Dalam kes ini, pemboleh ubah "MyNumber" yang dinyatakan dalam Modul 1 tidak dapat digunakan dalam Modul 2.

 # 2 - Pembolehubah Global boleh digunakan dalam Sub Prosedur dan juga dalam Modul mana pun

Sekarang kita telah melihat dua jenis deklarasi pemboleh ubah dan skopnya semasa menggunakan. Yang menarik ialah kita dapat menyatakan pemboleh ubah dalam salah satu modul dan digunakan untuk semua prosedur Sub dalam semua modul Projek VBA yang sama.

Untuk menjadikan pemboleh ubah tersedia untuk semua prosedur Sub di semua modul, kita perlu menyatakan pemboleh ubah di bagian atas modul bukan dengan menggunakan kata "Dim" tetapi dengan menggunakan kata "Umum" atau "Global".

Pada gambar di atas, anda dapat melihat saya telah menggunakan kata "Umum" untuk menyatakan pembolehubah dan bukannya kata veteran kami "Dim".

Dalam tangkapan skrin di atas, saya telah menyatakan pemboleh ubah dalam Modul 1. Saya mempunyai dua lagi modul bernama Modul 2 & Modul 3.

Oleh kerana saya telah menyatakan pemboleh ubah dengan menggunakan kata "Umum" di bahagian atas modul, sekarang saya dapat mengakses pemboleh ubah ini dalam sub prosedur apa pun di mana-mana modul buku kerja yang sama.

Bukan hanya "Umum", tetapi kita juga dapat menggunakan kata "Global" untuk menyatakan pemboleh ubahnya.

Global & Public adalah dua kata kunci untuk menyatakan pemboleh ubah dan menjadikannya tersedia di seluruh modul di VBA.

Perkara yang Perlu Diingat

  • Setelah makro excel berjalan dengan nilai pemboleh ubah global adalah sama di semua prosedur Sub.
  • Lebih baik mengekalkan modul tertentu untuk menyatakan pemboleh ubah global dalam VBA dan memiliki semua pemboleh ubah dalam satu modul.
  • Satu-satunya cara untuk menetapkan semula nilai pemboleh ubah adalah dengan menetapkan semula kod makro dengan menekan butang berhenti.