VBA - Érték visszaadása alfolyamatból

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

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave