Mga VBA Global Variable | Paano Maipahayag ang Global Variable sa VBA?
Ang ilang mga pag-andar ay tinukoy sa loob ng isang pag-andar at ginagamit sa loob ng mga pag-andar at ang ilang mga variable ay tinukoy sa labas ng mga pag-andar at ginagamit ng lahat ng mga pag-andar at ang mga naturang variable ay ginagamit bilang Mga Global Variable, halimbawa, ang mga variable na idineklara sa ilalim ng sub-function ay kilala bilang Global Variables.
Global Variable sa Excel VBA
Ang pagdedeklara ng variable ay tila simple ngunit upang magkaroon ng mabuting kamay sa kanila kailangan nating maunawaan ang saklaw ng mga variable na iyon. Kadalasan ipinapahayag namin ang mga variable para sa bawat macro sa loob ng sub na pamamaraan tuwing. Ngunit sa pamamagitan ng pagdedeklara ng isang variable na magagamit natin ito sa lahat ng mga macros sa parehong module pati na rin sa iba pang mga module ng kasalukuyang proyekto ng VBA. Sa artikulong ito, ipapakita namin sa iyo kung paano ideklara ang Mga Global Variable sa Excel VBA.
Ano ang Mga Global Variable sa Excel VBA?
Ang Mga VBA Global Variable ay mga variable na idineklara bago magsimula ang anumang macro sa module. Kapag ang mga variable ay idineklara sa pamamagitan ng paggamit ng alinman sa "Pampubliko" o "Global" ito ay nagiging "Global Variable".
Ang Mga Variable ng Sub na Pamamaraan ay Hindi Magagamit Kahit saan
Karaniwan naming idineklara ang variable sa loob ng subroutine sa vba sa pamamagitan ng paggamit ng salitang "Dim".
Tingnan ang imahe sa itaas na idineklara ko ang variable na "k" bilang integer sa loob ng sub na pamamaraan Global_Example1.
Kung gagamitin namin ang variable na ito sa loob ng ganitong pamamaraan ng Sub sa anumang punto ng oras. Gayunpaman, hindi ko magagamit ang variable na ito sa ibang sub na pamamaraan alinman sa parehong uri ng module sa VBA o sa ibang module.
Tulad ng ipinakita sa imahe sa itaas ang variable na "k" na idineklara sa subprocedure na Global_Example1 ay hindi maaaring gamitin sa Sub procedure Global_Example2.
Katulad nito, ang variable na "j" na idineklara sa subprocedure na Global_Example2 ay hindi maaaring gamitin sa Sub prosedur Global_Example1 kahit na ang parehong mga subprocedure ay nasa parehong module.
Paano Maipahayag ang Global Variable sa VBA?
Ang mga sumusunod ay ang mga paraan upang ideklara ang isang pandaigdigang variable sa excel VBA.
# 1 - Maaaring magamit ang Mga variable ng Module sa anumang Sub Pamamaraan sa Parehong Modyul
Tulad ng nakita natin, hindi namin maaaring gamitin ang mga variable na pamamaraan ng sub sa alinman sa mga module. Upang gawing magagamit ang mga ito para sa lahat ng pamamaraan ng Sub sa parehong module, kailangan naming ideklara ang mga variable sa tuktok ng module.
Sa imahe sa itaas, idineklara ko ang variable sa simula ng module lamang. Inihayag ko ang variable na "MyNumber" bilang Integer sa Modyul 1.
Kapag ang variable na idineklara sa tuktok ng module maaari naming gamitin ang parehong variable para sa lahat ng iba pang mga pamamaraan ng Sub sa parehong module, sa kasong ito, maaari naming gamitin ang variable na "MyNumber" para sa lahat ng mga pamamaraan ng Sub sa Modyul 1.
Ang problema ay hindi natin magagamit ang mga ito sa alinman sa iba pang mga module. Sa kasong ito, ang variable na "MyNumber" na idineklara sa Modyul 1 hindi maaaring gamitin sa Modyul 2.
# 2 - Maaaring magamit ang Mga Global Variable sa anumang Sub Pamamaraan at din sa anumang Modyul
Ngayon nakita namin ang dalawang uri ng variable na deklarasyon at ang saklaw ng mga ito habang ginagamit. Ang kagiliw-giliw na bagay ay maaari naming ideklara ang variable sa anumang isa sa mga module at gamitin para sa lahat ng mga pamamaraan ng Sub sa lahat ng mga module ng parehong VBA Project.
Upang gawing magagamit ang variable para sa lahat ng mga pamamaraan ng Sub sa lahat ng mga module, kailangan nating ideklara ang variable sa tuktok ng module hindi sa pamamagitan ng paggamit ng salitang "Dim" ngunit sa pamamagitan ng paggamit ng salitang "Public" o "Global".
Sa imahe sa itaas, makikita mong ginamit ko ang salita "Pampubliko" upang ideklara ang variable sa halip ng aming beteranong salita "Dim".
Sa screenshot sa itaas, ipinahayag ko ang variable sa Modyul 1. Mayroon pa akong dalawang module na pinangalanan Modyul 2 at Modyul 3.
Dahil idineklara ko ang variable sa pamamagitan ng paggamit ng salitang "Pampubliko" sa tuktok ng module, ngayon ay maaari kong ma-access ang mga variable na ito sa anumang sub pamamaraan sa anumang modyum ng parehong workbook.
Hindi lamang "Pampubliko", ngunit maaari din nating gamitin ang salitang "Global" upang ideklara ang variable.
Ang Global & Public ay ang dalawang mga keyword upang ideklara ang variable at gawing magagamit ang mga ito sa kabuuan ng mga module sa VBA.
Bagay na dapat alalahanin
- Kapag ang excel macro ay tumatakbo na may halaga ng variable ng pandaigdigang variable ay pareho sa lahat ng mga pamamaraan ng Sub.
- Mas mahusay na mapanatili ang isang partikular na module upang ideklara ang mga pandaigdigang variable sa VBA at magkaroon ng lahat ng mga variable sa isang module.
- Ang tanging paraan lamang upang mai-reset ang halaga ng variable ay sa pamamagitan ng pag-reset ng macro code sa pamamagitan ng pagpindot sa stop button.