VBA - Vrátenie hodnoty z čiastkového postupu

Tento tutoriál vás naučí, ako vrátiť hodnotu z čiastkového postupu vo VBA.

Podproces nie je navrhnutý tak, aby vracal hodnotu - na to sa používa procedúra funkcie. Môže však nastať čas, keď spustíte nejaký kód v čiastkovej procedúre, kde budete potrebovať získať hodnotu z tejto čiastkovej procedúry. Spôsob, ako to urobiť, je použiť modul alebo globálne premenné alebo použiť čiastkový postup na vyplnenie hárka programu Excel.

Použitie premenných na vrátenie hodnoty

Premenné môžete deklarovať na úrovni modulu. Pritom môžu byť tieto premenné použité kdekoľvek v module a premenné si zachovajú svoje hodnoty. Ak chcete deklarovať premennú na úrovni modulu, jednoducho ju deklarujte v hornej časti modulu kódu:

123456789 Možnosť explicitnáDim dblQty ako DoubleDielčí test A ()'zavolajte na podstavec TestBZavolajte na TestB'zobraziť hodnotu premennej v okne moduluDebug.Print dblQtyKoniec pod
1234 Dielčí testB ()'vyplňte premennú moduludblQty = 900Koniec pod

Aby sme to spojili, spustili by sme TestA, ktorý by zase nazval TestB a v bezprostrednom okne by nám poskytol hodnotu 900.

Toto by fungovalo iba v rámci modulu, pretože premenná bola deklarovaná pomocou príkazu Dim na úrovni modulu.

Globálna premenná

Premennú môžete deklarovať na globálnej úrovni, aby ste ju mohli používať v moduloch projektu.

Použitie čiastkového postupu na vyplnenie hárka programu Excel

Nasledujúca čiastková procedúra priamo naplní rozsah A1 až C1 vo vašom hárku programu Excel, čím vráti hodnoty do buniek z čiastkovej procedúry.

12345 SubpopulateRange ()Rozsah ("A1") = "Produkt"Rozsah ("B1") = "Množstvo"Rozsah ("C1") = "Cena"Koniec pod

Na tieto hodnoty potom môžete odkazovať v inom postupe odkazom na hodnoty buniek:

1234567 Sub RetrieveRange ()Tlmený výrobok ako reťazec, množstvo ako dlhé, cena ako dvojnásobokVýrobok = rozsah („A1“)Quant = rozsah („B1“)Cena = rozsah („C1“)Koniec pod

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave