VBA - grąžinkite reikšmę iš papildomos procedūros

Ši pamoka išmokys jus, kaip grąžinti vertę iš antrinės procedūros VBA.

Antrinė procedūra nėra skirta grąžinti vertę - tam naudojama funkcijų procedūra. Tačiau kartais gali būti, kad vykdydami tam tikrą kodą vykdote papildomą procedūrą, kuriai reikia gauti šios antrinės procedūros vertę. Tai galima padaryti naudojant modulį arba visuotinius kintamuosius arba naudojant papildomą procedūrą „Excel“ lapui užpildyti.

Kintamųjų naudojimas reikšmei grąžinti

Galite deklaruoti kintamuosius modulio lygiu. Tai darydami, tie kintamieji gali būti naudojami bet kurioje modulio vietoje ir kintamieji išlaiko savo vertes. Norėdami deklaruoti kintamąjį modulio lygiu, tiesiog deklaruokite kintamąjį savo kodo modulio viršuje:

123456789 Pasirinkimas aiškusDim dblQty kaip dvigubasAntrasis testas A ()“skambinkite„ TestB “poskyriuiSkambinkite TestB“rodyti kintamojo vertę modulio langeDerinimas. Spausdinti dblPabaiga Sub
1234 Antrasis bandymasB ()“užpildykite modulio kintamąjįdblQty = 900Pabaiga Sub

Norėdami juos sudėti, paleistume „TestA“, o tai savo ruožtu iškviestų „TestB“ ir tiesioginiame lange pateiktų 900 vertę.

Tai veiktų tik modulio viduje, nes kintamasis buvo deklaruotas naudojant Dim sakinį modulio lygiu.

Pasaulinis kintamasis

Galite deklaruoti kintamąjį pasauliniu lygiu, kad galėtumėte jį naudoti visuose projekto moduliuose.

Papildomos procedūros naudojimas „Excel“ lapui užpildyti

Toliau pateikta antrinė procedūra tiesiogiai užpildys diapazoną nuo A1 iki C1 jūsų „Excel“ lape, taip grąžindama reikšmes ląstelėms iš papildomos procedūros.

12345 Sub populateRange ()Diapazonas ("A1") = "Produktas"Diapazonas ("B1") = "Kiekis"Diapazonas ("C1") = "Kaina"Pabaiga Sub

Tada galite nurodyti šias vertes kitoje procedūroje, nurodydami langelių reikšmes:

1234567 Sub RetrieveRange ()Išblukinkite gaminį kaip eilutę, kiek norite, kiek kainuoja dvigubaiProduktas = asortimentas ("A1")Kiekis = diapazonas ("B1")Kaina = diapazonas ("C1")Pabaiga Sub

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave