Ez az oktatóanyag megtanítja, hogyan lehet visszaadni egy értéket egy alfolyamatból a VBA -ban.
Az alfolyamat nem arra szolgál, hogy értéket adjon vissza - erre használják a függvény eljárást. Előfordulhat azonban, hogy egy alprogramban valamilyen kódot futtat, amikor értéket kell kapnia az alfolyamatból. Ennek módja a modul vagy a globális változók használata, vagy egy alfolyamat használata az Excel -lap kitöltéséhez.
Változók használata az érték visszaadására
Modul szinten deklarálhat változókat. Ekkor ezek a változók a modulon belül bárhol használhatók, és a változók megtartják értékeiket. A változó modul szintű deklarálásához egyszerűen deklarálja a változót a kódmodul tetején:
123456789 | Explicit lehetőségDim dblQty mint DoubleAl tesztA ()'hívja a TestB alHívja a TestB -t'mutassa a változó értékét a modul ablakábanHibakeresés. Nyomtatás dblQtyEnd Sub |
1234 | B teszt (B)'töltse ki a modulváltozótdblQty = 900End Sub |
Ezek összeállításához futtatnánk a TestA -t, amely viszont a TestB -t hívná, és a közvetlen ablakban megadná a 900 -as értéket.
Ez csak a modulon belül működik, mivel a változót a Dim utasítás használatával deklarálták a modul szintjén.
Globális változó
A változót globális szinten deklarálhatja, hogy a projektmoduljaiban használhassa.
Alfolyamat használata Excel -munkalap kitöltéséhez
Az alábbi alfolyamat közvetlenül kitölti az A1 -C1 tartományt az Excel -lapon, így visszaadja az értékeket a celláknak az al -eljárásból.
12345 | Sub populateRange ()Tartomány ("A1") = "Termék"Tartomány ("B1") = "Mennyiség"Tartomány ("C1") = "Költség"End Sub |
Ezután hivatkozhat ezekre az értékekre egy másik eljárásban a cellaértékekre való hivatkozással:
1234567 | Sub RetrieveRange ()A termék halványítása karakterláncként, számtalan ideig, költség kétszereseTermék = tartomány ("A1")Mennyiség = tartomány ("B1")Költség = tartomány ("C1")End Sub |