Johdanto Excel VBA Call Sub -sovellukseen

VBA: ssa meillä on CALL-toiminto, jota käytetään toiseen alaluokkaan tai alatoimintoon tallennettujen arvojen kutsumiseen. Oletetaan, että olemme kirjoittaneet koodin jonnekin työkirjaan, nyt kirjoittaessamme toista koodia tarvitsemme saman, aiemmin kirjoitetun koodin. Joten sen sijaan, että kirjoittaisimme saman koodin uudelleen, voimme kutsua kyseisen täydellisen koodin tai alaproseduurin nykyiseen alaluokkaan tai alatoimintoon. Tällä voidaan välttää saman työkirjan tekeminen uudestaan ​​ja uudestaan.

Kuinka soittaa Sub: lle Excel VBA: ssa?

Alla on erilaisia ​​esimerkkejä Sub-kutsumiseksi Excel VBA: ssa:

Voit ladata tämän VBA Call Sub Excel -mallin täältä - VBA Call Sub Excel Template

Excel VBA -puheluosa - esimerkki # 1

Katsotaan ensin yksi esimerkki, jossa soitamme jo kirjoitetun koodin alaluokkaan tai menettelyyn. Tätä varten tarvitsemme moduulin.

Siirry VBA-ikkunaan ja napsauta Lisää valikko -vaihtoehtoa Moduuli alla olevan kuvan mukaisesti.

Sen jälkeen saamme tyhjän sivun tai ikkunan moduulista. Kirjoita nyt alaluokka koodia, jota suoritamme, tai mille tahansa muulle nimellä alla esitetyllä tavalla.

Koodi:

 Sub Calling () Lopeta Sub 

Käytä nyt viestikentän komentoa ja kirjoita teksti tai sana, jonka haluat nähdä viestiruutuun. Käytämme tässä ” ensimmäistä ” alla olevan kuvan mukaisesti.

Koodi:

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

Käännä nyt koodi ja suorita se napsauttamalla valikkopalkin alla olevaa Toista-painiketta. Näemme viestiruudun, joka sisältää viestin ” Ensimmäinen ” alla olevan kuvan mukaisesti.

Kirjoita nyt saman moduulin päättymisen jälkeen toinen alaluokka tai menettely mihin tahansa nimeen alla olevan kuvan mukaisesti.

Koodi:

 Sub Saapuminen () End Sub 

Käytä siinä taas komentoa MsgBox ja anna sille viesti tai teksti valintasi mukaan. Täällä olemme antaneet sille “ toisen ” alla olevan kuvan mukaisesti.

Koodi:

 Sub Saapuminen () MsgBox ("Second") Loppu Sub 

Nyt, jos suoritamme täydellisen koodin, niin saamme vain viimeisen alaluokan tuotoksen, joka on viestiruutu, joka sisältää viestin ” toinen ”, kuten alla.

Täältä tulee toiminto CALL, jota kutsumme kumpaankin viestiin yksi kerrallaan. Tätä käytetään ensimmäisessä alaluokassa.

Tätä tyyppiä varten soitetaan ensimmäisessä alaluokassa ennen lopettamista, jota seuraa sen alaluokan nimi, jonka koodiin haluamme soittaa. Jäljempänä MsgBox käytetään puhelua, jota seuraa Saapuminen, joka on alla kirjoitetun koodin alaluokan nimi.

Koodi:

 Sub Calling () MsgBox ("Ensimmäinen") Call Saapuva End Sub Sub Saapuminen () MsgBox ("Second") End Sub 

Käännä nyt koko koodi alusta loppuun ja aja se. Näemme viestiruudun, jonka nimi on Viesti ”Ensimmäinen”. Napsauta OK jatkaaksesi edelleen. Kun teemme sen, saamme toisen viestiruudun, joka sisältää viestin ” Second ”, kuten alla on esitetty. Ja jos napsautat Ok uudelleen, se poistuu menettelystä.

Entä jos muutamme puhelutoiminnon sijainnin ennen lopettamista ensimmäisen alakategorian jälkeen, kuten alla on esitetty? Anna nyt suorittaa täydellinen koodi uudelleen.

Koodi:

 Sub Calling () Puhelu saapuva MsgBox ("Ensimmäinen") End Sub Sub Saapuminen () MsgBox ("Second") End Sub 

Se aukaisee ensin toiseen osaprosessioon tallennetun viestin, joka on ” toinen ”, jota seuraa viesti ” Ensimmäinen ”, kun napsautamme Ok alla olevan kuvan mukaisesti.

Joten kaikki riippuu meistä, mihin alamenettelyyn tai luokkaan haluamme soittaa ensin.

Excel VBA -puheluosa - esimerkki # 2

Katsotaan toinen esimerkki, jossa käytämme Call-toimintoa eri alaluokkien soittamiseen. Tätä varten tarvitsemme uuden moduulin. Avaa moduuli Lisää-valikosta. Ja se antaa alaluokan missä tahansa nimessä, kuten alla on esitetty.

Koodi:

 Sub VBACall () Loppu Sub 

Määritä 3 muuttujaa Num1, Num2 ja Ans1 DIM: ssä ja määritä sitten Long- parametrille . Voimme käyttää myös kokonaislukua tai kaksinkertaista, käytöstä riippuen. Pitkä antaa meille mahdollisuuden harkita minkä tahansa numeron pituutta.

Koodi:

 Sub VBACall () Dim Num1 yhtä kauan Dim Num2 kuin pitkä Dim Ans1 kuin pitkä end Sub 

Anna nyt Num1: lle ja Num2: lle haluamasi lukumäärä. Olemme antaneet heille 100 ja 50 vastaavasti. 100 ja 50 huomioon ottaminen auttaa meitä tunnistamaan tulos nopeasti.

Koodi:

 Sub VBACall () Dim Num1 Niin Pitkä Dim Num2 Niin Pitkä Dim Ans1 Niin Pitkä Num1 = 100 Num2 = 50 End Sub 

Nyt käytä kertolaskua kertoaksesi numeroiden varastot Num1: ssä ja Num2: ssa ja tallenna niiden vastaukset Ans1- muuttujaan, kuten alla on esitetty.

Koodi:

 Sub VBACall () Dim Num1 Pitkä Dim Num2 Pitkä Dim Ans1 Pitkä Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

Seuraavassa koodirivissä käytämme VBA-objektia. Valitse tätä varten taulukko komennolla Työarkki ja anna sille minkä tahansa solun alue. Olemme valinneet alueen solun B1: ksi. Tulosta lopuksi tulos millä tahansa nimellä, kuten Tulos tai Vasta, kuten alla.

Koodi:

 Sub VBACall () Dim Num1 yhtä pitkä Dim Num2 kuin pitkä Dim Ans1 kuin pitkä Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2-taulukot (1) .Range ("B1"). Value = "Answer" End Sub 

Anna sille nyt paikka, josta haluamme nähdä vastauksen samalla tavalla kuin yllä. Valitsemme tässä lähtösoluksi solun C1 ja laitamme tähän viimeisen muuttujan Ans1 .

Koodi:

 Sub VBACall () Dim Num1 yhtä pitkä Dim Num2 kuin pitkä Dim Ans1 kuin pitkä Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2-taulukot (1) .Range ("B1"). Value = "Answer" Worksheet (1) .Range ("C1"). Arvo = Ans1 End Sub 

Suorita nyt koodi. Näemme kertolaskutuloksen solussa C1.

Toisen alaluokan kirjoittaminen saman koodin alle Endin jälkeen.

Koodi:

 Sub VBACall2 () Loppu Sub 

Määritä jälleen 3 muuttujaa Num3, Num4 ja Ans2 DIM: ssä ja määritä sitten Long- parametrille .

Koodi:

 Sub VBACall2 () Dim Num3 Niin Pitkä Dim Num4 Niin Pitkä Dim Ans2 kuin Pitkä Pää Sub 

Anna Num3: lle ja Num4: lle samat arvot, kuten 100 ja 50, ja lisää molemmat numerot.

Koodi:

 Sub VBACall2 () Dim Num3 Pitkä Dim Num4 Kuten Pitkä Dim Ans2 Pitkä Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Käytä nyt VBA Object -tapaa samalla tavalla kuin yllä ja anna sitten etäisyyssolu kuin B2 vastaukselle ja C2 Ans2: n tulostukselle .

Koodi:

 Sub VBACall2 () Dim Num3 yhtä pitkä Dim Num4 kuin pitkä Dim Ans2 niin pitkä Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 laskentataulut (1) .Range ("B2"). Value = "Answer" Worksheet (1) .Range ("C2"). Arvo = Ans2 End Sub 

Jos haluat soittaa molemmat tulokset yksitellen, käytä Soita-toimintoa, joka antaa sille toisen alakategorian nimen alla olevan kuvan mukaisesti.

Koodi:

 Sub VBACall () Dim Num1 yhtä pitkä Dim Num2 kuin pitkä Dim Ans1 kuin pitkä Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2-taulukot (1) .Range ("B1"). Value = "Answer" Worksheet (1) .Range ("C1"). Arvo = Ans1. ) .Value = "Vastaus" Laskentataulukot (1) .Range ("C2"). Arvo = Ans2 End Sub 

Käännä nyt koko koodi ja suorita. Meillä on ensimmäinen solussa C2, saimme kertolaskutuloksen ja solussa C3, lisäyksen tuloksen.

Oikean sekvenssin tuntemiseksi voimme käyttää MsgBox-komentoa esimerkissä 1 käytetyn komennon avulla ja nähdä, mitkä arvot kutsuivat missä järjestyksessä.

Plussaa Excel VBA Call Sub -sovelluksesta

  • VBA Call Sub säästää aikaa kirjoittamalla sama koodi uudestaan ​​ja uudestaan.
  • Soittaminen VBA-aliproseduurikauppaan samassa excel-tiedostossa pienentää myös Excel-tiedoston kokoa.

Muistettavat asiat

  • Käytä viestiruutua testitarkoituksiin nähdäksesi useita koodeja peräkkäin.
  • Käännä suuret koodirivit painamalla F8-näppäintä, jotta virheosa voidaan tunnistaa.
  • Tallenna tiedosto makroon Enable Excel -muodossa, jotta kirjoitettu koodi säilytetään.
  • CALL-sovelluksen käyttö ennen loppua suorittaa ensimmäisen koodin ensin ja ensimmäisen alaprosessorin jälkeen toinen koodin ensimmäisen.

Suositellut artikkelit

Tämä on opas VBA Call Sub -sovellukseen. Täällä keskustellaan kuinka soittaa Sub: lle Excel VBA: ssa sekä käytännön esimerkkejä ja ladattavaa excel-mallia. Voit myös käydä läpi muiden ehdottamiemme artikkeleidemme -

  1. VBA Tee kunnes silmukka
  2. SUBTOTAL-kaava Excel-muodossa
  3. VBA Vaikka silmukka
  4. Sub-string Excel-toiminto

Luokka: