Sissejuhatus Exceli VBA kõne alammenüüsse

VBA-s on meil funktsioon CALL, mida kasutatakse teises alamkategoorias või alamprotseduuris salvestatud väärtuste helistamiseks. Oletame, et oleme koodi kirjutanud kuskile töövihikusse, nüüd vajame teist koodi kirjutades sama koodi, mis on varem kirjutatud. Nii et sama koodi uuesti kirjutamise asemel võime selle täieliku koodi või alamprotseduuri kutsuda praegusesse alamkategooriasse või alamprotseduuri. Sellega saab vältida töövihiku sama toimingu tegemist ikka ja jälle.

Kuidas helistada alamprogrammile Excel VBA?

Allpool on erinevad näited, kuidas Excel VBA-s Sub-i kutsuda:

Selle VBA Call Sub Exceli malli saate alla laadida siit - VBA Call Sub Exceli mall

Exceli VBA kõne alamnäide # 1

Esiteks vaatame ühte näidet, kus helistame juba kirjutatud koodi alamkategooriale või protseduurile. Selleks vajame moodulit.

Minge VBA aknasse ja klõpsake menüü Lisa menüüvalikus nuppu Moodul, nagu allpool näidatud.

Pärast seda kuvatakse mooduli tühi leht või aken. Kirjutage siia alamkategooria kood, mida me täidame, või mõne muu nime all, nagu allpool näidatud.

Kood:

 Sub Calling () Lõpeta Sub 

Nüüd kasutage sõnumikasti käsku ja tippige tekst või sõna, mida soovite sõnumikasti näha. Kasutame siin “ esimest ”, nagu allpool näidatud.

Kood:

 Sub Calling () MsgBox ("First") End Sub 

Nüüd kompileerige kood ja käivitage see, klõpsates nuppu Esita, mis asub menüüriba all. Näeme sõnumikasti, mis sisaldab sõnumit „ Esimene ”, nagu allpool näidatud.

Nüüd kirjutage samas moodulis pärast lõppu suvalise nime alla uus alamkategooria või protseduur, nagu allpool näidatud.

Kood:

 Sub saabub () End Sub 

Kasutage selles uuesti käsku MsgBox ja andke sellele sõnum või tekst vastavalt oma valikule. Siin oleme andnud sellele “ teise ”, nagu allpool näidatud.

Kood:

 Sub saabub () MsgBox ("Second") End Sub 

Kui käitame täieliku koodi, saame ainult viimase alamkategooria väljundi, mis on allpool näidatud sõnumikasti sisaldav teade “ Second ”.

Siit tuleb funktsioon HELISTAMINE, mida kasutame mõlema sõnumi ükshaaval helistamiseks. Seda kasutatakse esimeses alamkategoorias.

Selle tüübi korral helistage esimeses alamkategoorias enne lõppu, millele järgneb selle alamkategooria nimi, mille koodi tahame helistada. Pärast MsgBoxi kasutame kõnet, millele järgneb saabumine, mis on allpool kirjutatud koodi alamkategooria nimi.

Kood:

 Sub Calling () MsgBox ("Esimene") Call Saabuv End Sub Sub Saabumine () MsgBox ("Second") End Sub Sub 

Nüüd kompileerige täielik kood algusest lõpuni ja käivitage see. Näeme sõnumikasti, mille nimi on teade „Esimene”. Nüüd jätkamiseks klõpsake nuppu OK . Kui oleme seda teinud, saame teise sõnumikasti, mis sisaldab sõnumit „ Teine ”, nagu allpool näidatud. Ja kui klõpsate uuesti nuppu OK, siis väljub see protseduurist.

Mis siis, kui muudame kõnefunktsiooni positsiooni enne lõppu ja pärast esimest alamkategooriat, nagu allpool näidatud? Nüüd laske kogu kood uuesti käivitada.

Kood:

 Sub Calling () Kõne saabumine MsgBox ("Esimene") Sub Sub Sub Saabumine () MsgBox ("Second") End Sub 

Kui me klõpsame nuppu OK, nagu allpool näidatud, hüppab see esimesse alamprotseduuri salvestatud sõnumi, milleks on “ Second ”, millele järgneb teade “ First ”.

Seega on kõik meie otsustada, millist alamenetlust või kategooriat me kõigepealt kutsuda tahame.

Exceli VBA kõne alamnäide nr 2

Vaatame veel ühte näidet, kus eri alamkategooriate kutsumiseks kasutame funktsiooni Kõne. Selleks vajame uut moodulit. Avage moodul sisestusmenüüst. Ja see annab alamkategooria mis tahes nimes, nagu allpool näidatud.

Kood:

 Alam VBACall () Lõpp Alam 

Määratlege DIM- is 3 muutujat Num1, Num2 ja Ans1 ja määrake seejärel pikaga . Me võime kasutada ka täisarvu või topelt, sõltuvalt inimese kasutusest. Pikk võimaldab meil arvestada arvu mis tahes pikkusega.

Kood:

 Sub VBACall () Dim Num1 nii pikk Dim Num2 nii pikk Dim Ans1 kui pikk End Sub 

Andke Num1-le ja Num2-le suvaline arv. Oleme neile andnud vastavalt 100 ja 50 . 100 ja 50 arvestamine aitab meil väljundi kiiresti kindlaks teha.

Kood:

 Sub VBACall () Dim Num1 nii pikk Dim Num2 nii pikk Dim Ans1 kui pikk Num1 = 100 Num2 = 50 End Sub 

Kasutage Num1 ja Num2 numbripoodide korrutamiseks ja nende vastuse muutmiseks Ans1-s korrutise valemi abil, nagu allpool näidatud.

Kood:

 Sub VBACall () Dim Num1 nii pikk Dim Num2 kui pikk Dim Ans1 kui pikk Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

Järgmisel koodireal kasutame objekti VBA. Selleks valige leht käsklusega Tööleht ja andke sellele vahemik mis tahes lahtrit. Oleme vahemiku lahtriks valinud B1. Ja lõpuks printige tulemus mis tahes nimega, näiteks tulemus või vastus, nagu allpool näidatud.

Kood:

 Sub VBACall () Dim Num1 nii pikk Dim Num2 kui pikk Dim Ans1 kui pikk Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 töölehed (1) .Range ("B1"). Value = "Answer" End Sub 

Andke talle nüüd koht, kus tahame vastust näha, nagu ülal näidatud. Valime siin lahtriks C1 lahtri C1 ja paneme siia viimase muutuja Ans1 .

Kood:

 Sub VBACall () Dim Num1 nii pikk Dim Num2 kui pikk Dim Ans1 kui pikk Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 töölehed (1) .Range ("B1"). Value = "Answer" töölehed (1) .Range ("C1") .Väärtus = Ans1 lõpp alam 

Nüüd käivitage kood. Lahtris C1 näeme korrutamistulemust.

Sama koodi alla teise alamkategooria kirjutamine pärast lõppu.

Kood:

 Alam VBACall2 () lõpp Alam 

Määrake jällegi DIM- is 3 muutujat Num3, Num4 ja Ans2 ja määrake seejärel pikkusega .

Kood:

 Sub VBACall2 () Dim Num3 nii pikk Dim Num4 kui pikk Dim Ans2 kui pikk End Sub 

Andke numbritele Num3 ja Num4 samad väärtused nagu 100 ja 50 ning lisage mõlemad arvud.

Kood:

 Sub VBACall2 () Dim Num3 nii pikk Dim Num4 kui pikk Dim Ans2 kui pikk Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Kasutage nüüd VBA objekti sarnaselt ülaltooduga ja andke siis vahemiku lahter väärtuseks B2 vastuse jaoks ja C2 Ans2 väljundiks.

Kood:

 Sub VBACall2 () Dim Num3 Nii pikk Dim Num4 Nii pikk Dim Ans2 Kui pikk Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 töölehed (1) .Range ("B2"). Value = "Answer" töölehed (1) .Range ("C2"). Väärtus = Ans2 lõpp alam 

Mõlemale tulemusele ükshaaval helistamiseks kasutage funktsiooni Kõne, mis annab sellele allpool näidatud 2. alamkategooria nime.

Kood:

 Sub VBACall () Dim Num1 nii pikk Dim Num2 kui pikk Dim Ans1 kui pikk Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 töölehed (1) .Range ("B1"). Value = "Answer" töölehed (1) .Range ("C1"). Väärtus = Ans1 Helista VBACall2 End Sub Sub VBACall2 () Dim Num3 Nii pikk Dim Num4 Nii pikk Dim Ans2 Kui pikk Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 töölehte (1) .Range ("B2") ) .Väärtus = "Vastus" Töölehed (1) .Range ("C2"). Value = Ans2 End Sub 

Nüüd kompileerige kogu kood ja käivitage. Esimesena saame lahtris C2, saime korrutamise tulemuse ja lahtris C3 liitmise tulemuse.

Õige jada teadasaamiseks saame kasutada näites 1 kasutatud käsku MsgBox ja vaadata, millised väärtused millises järjestuses kutsusid.

Plussid Exceli VBA kõneside alammenüüst

  • VBA Call Sub säästab aega, kirjutades sama koodi ikka ja jälle.
  • VBA alamprotseduuride poodi helistamine samas excelis vähendab ka Exceli faili mahtu.

Asjad, mida meeles pidada

  • Mitme koodi järjestikuse käitamise nägemiseks kasutage testimiseks sõnumikasti.
  • Suuremate koodiridade koostamiseks vajutage klahvi F8, et vea osa oleks tuvastatav.
  • Salvestage fail makro mahus Luba Exceli vormingus kirjaliku koodi säilitamiseks.
  • Kui CALL-i kasutatakse enne lõppu, käivitatakse esimene kood esimesena ja pärast esimest alamprotseduuri käivitatakse esimene teine ​​kood.

Soovitatavad artiklid

See on juhend VBA Call Sub-le. Siin arutatakse, kuidas helistada alamversioonile Excel VBA-s koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA teha kuni silmuseni
  2. SUBTOTAL valem Excelis
  3. VBA Kuigi silmus
  4. Exceli funktsiooni alamstring

Kategooria: