Uvod u Excel VBA pozivni pod
U VBA imamo funkciju CALL koja se koristi za pozivanje vrijednosti pohranjenih u drugoj potkategoriji ili potpostupku. Pretpostavimo da smo kôd napisali negdje u radnoj knjižici, sad kad smo pisali drugi kôd, isti je kôd napisan i ranije. Dakle, umjesto da ponovo napišemo isti kod, taj kompletan kod ili Pod postupak možemo nazvati trenutnim Podkategorija ili Potproces. Time se može izbjeći ponavljanje iste aktivnosti radne knjižice.
Kako nazvati Sub u Excelu VBA?
Ispod su sljedeći primjeri za pozivanje Sub u Excelu VBA:
Ovdje možete preuzeti ovaj predložak VBA poziva Sub Excel - VBA predložak Sub Excel predloškaPod - primjer # 1 u Excelu VBA poziva
Prvo, pogledajte jedan primjer u kojem ćemo IZNAVITI već napisanu kodnu podkategoriju ili postupak. Za to nam treba modul.
Idite na prozor VBA i ispod opcije Umetanje izbornika kliknite na Modul kao što je prikazano u nastavku.
Nakon toga dobit ćemo praznu stranicu ili prozor Modula. Sada u to upišite podkategoriju koda koji izvodimo ili u bilo koje drugo ime kao što je prikazano u nastavku.
Kodirati:
Sub Poziv () Kraj Sub
Sada upotrijebite naredbu okvira za poruke i upišite bilo koji tekst ili riječ koju želite vidjeti u okviru s porukom. Ovdje koristimo " Prvo " kao što je prikazano u nastavku.
Kodirati:
Sub Calling () MsgBox ("First") Kraj Sub
Sada sastavite kôd i pokrenite ga klikom na gumb Reproduciraj koji se nalazi ispod trake izbornika. Vidjet ćemo okvir s porukom koji sadrži poruku " Prvo " kao što je prikazano u nastavku.
Sada nakon završetka u isti modul napišite drugu podkategoriju ili postupak u bilo koje ime, kao što je prikazano u nastavku.
Kodirati:
Dolazak Sub () Kraj Sub
U tom slučaju opet koristite naredbu MsgBox i dajte joj poruku ili tekst po vašem izboru. Ovdje smo je dali " Drugo " kao što je prikazano u nastavku.
Kodirati:
Dolazak sub () MsgBox ("Drugi") Kraj Sub
Ako pokrenemo kompletan kod, tada ćemo dobiti izlaz posljednje potkategorije, što je okvir s porukom koji sadrži poruku " Drugo ", kao što je prikazano u nastavku.
Ovdje dolazi funkcija POZIV, kojom ćemo obje poruke pozivati jednu po jednu. To će se koristiti u prvoj potkategoriji.
Za ovaj tip Pozovite u prvoj podkategoriji prije kraja, a slijedi naziv te potkategorije čiji kôd želimo nazvati. U nastavku MsgBox koristimo Call, a slijedi Dolazak, što je dolje napisano potkategorija.
Kodirati:
Sub Calling () MsgBox ("First") End Arriving End Sub Sub Dolazak () MsgBox ("Second") End Sub
Sada sastavite cijeli kod od početka do kraja i pokrenite ga. Vidjet ćemo okvir s imenom koji je nazvan "Prvo". Sada kliknite OK za nastavak dalje. Jednom kad to učinimo, dobit ćemo drugi okvir s porukom koji sadrži poruku " Drugo ", kao što je prikazano u nastavku. A ako ponovno kliknete Ok, onda će izaći iz procedure.
Što ako promijenimo položaj funkcije poziva iz prije kraja u kraj nakon prve podkategorije kao što je prikazano u nastavku? Sada ponovo pokrenite kompletni kod.
Kodirati:
Sub Calling () Dolazni poziv MsgBox ("First") End Sub Sub Dolazak () MsgBox ("Second") End Sub
Pojavit će se poruka pohranjena u drugom podproceduri, a prvo je " Drugo ", a zatim slijedi poruka " Prvo " kad kliknemo Ok, kao što je prikazano u nastavku.
Dakle, sve je na nama, koji Sub postupak ili kategoriju želimo prvo nazvati.
Primjer br. 2 za Excel VBA poziv
Pogledajmo još jedan primjer gdje ćemo upotrijebiti funkciju poziva za pozivanje različitih potkategorija. Za to nam treba novi modul. Otvorite modul iz izbornika Umetanje. I daje potkategoriju u bilo kojem nazivu kao što je prikazano u nastavku.
Kodirati:
Sub VBACall () Kraj Sub
Definirajte 3 varijable Num1, Num2 i Ans1 u DIM-u i dodijelite ih sa Long . Također možemo koristiti Integer ili Double, ovisno o nečijoj upotrebi. Long će nam omogućiti da razmotrimo bilo koju duljinu broja.
Kodirati:
Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long End Sub
Sada dajte Num1 i Num2 bilo koji broj po vašem izboru. Dali smo im 100, odnosno 50 . Razmatranje 100 i 50 pomoći će nam da brzo identificiramo izlaz.
Kodirati:
Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 End Sub
Sada koristite formulu množenja za umnožavanje spremišta brojeva u Num1 i Num2 i spremite njihov odgovor u varijabli Ans1 kao što je prikazano u nastavku.
Kodirati:
Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Kraj Sub
U sljedećem retku koda koristit ćemo VBA objekt. Za to odaberite list s naredbom Radni list i dodijelite mu raspon bilo koje ćelije. Odabrali smo ćeliju dometa kao B1. I na kraju ispisati rezultat s bilo kojim imenom, kao što je rezultat ili odgovor, kao što je prikazano u nastavku.
Kodirati:
Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Radni listovi (1) .Range ("B1"). Vrijednost = "Odgovor" Kraj Sub
Sada mu dajte lokaciju na kojoj želimo vidjeti odgovor na isti način kao što je prikazano gore. Ovdje odabiremo ćeliju C1 kao izlaznu ćeliju i ovdje stavljamo zadnju varijablu Ans1 .
Kodirati:
Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Radni listovi (1) .Range ("B1"). Vrijednost = "Odgovori" Radni listovi (1) .Range ("C1") Vrijednost = Ans1 Kraj Sub
Sada pokrenite kod. Rezultat množenja ćemo vidjeti u ćeliji C1.
Pisanje druge podkategorije ispod istog koda nakon kraja.
Kodirati:
Sub VBACall2 () Kraj Sub
Opet definirajte 3 varijable Num3, Num4 i Ans2 u DIM-u i dodijelite ih zatim Long.
Kodirati:
Sub VBACall2 () Dim Num3 As Long Dim Num4 Kao Long Dim Ans2 Kao Long End Sub
Dajte Num3 i Num4 iste vrijednosti kao 100 i 50 i dodajte oba broja.
Kodirati:
Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub
Sada koristite VBA objekt na sličan način kao što je prethodno opisano i dodijelite ćeliji dometa kao B2 za odgovor i C2 za izlaz Ans2 .
Kodirati:
Pod VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Radni listovi (1) .Range ("B2"). Vrijednost = "Odgovori" Radni listovi (1) .Range ("C2") Vrijednost = Ans2 Kraj Sub
Za pozivanje oba rezultata jedan po jedan, koristite funkciju poziva koja mu daje naziv 2. potkategorije kao što je prikazano u nastavku.
Kodirati:
Sub VBACall () Dim Num1 As Long Dim Num2 As Long Dim Ans1 As Long Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Radni listovi (1) .Range ("B1"). Vrijednost = "Odgovori" Radni listovi (1) .Range ("C1") Vrijednost = Ans1 Poziv VBACall2 Kraj Sub Sub VBACall2 () Dim Num3 As Long Dim Num4 As Long Dim Ans2 As Long Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Radni listovi (1) .Range ("B2" ) .Value = "Odgovor" Radni listovi (1) .Range ("C2"). Vrijednost = Ans2 Kraj Pod
Sada sastavite cijeli kod i pokrenite. Mi ćemo prvi u stanici C2, dobili smo rezultat množenja, a na stanici C3, rezultat sabiranja.
Da bismo znali pravilan slijed, možemo upotrijebiti naredbu MsgBox kako se koristi u Primjeru 1 i vidjeti koje se vrijednosti pozivaju u kojem nizu.
Prosci Excel VBA poziva Sub
- VBA Call Sub štedi vrijeme na pisanju istog koda stalno i iznova.
- Ako nazovete pohranu pod-procedure VBA u istom excelu, smanjujete i veličinu datoteke excel.
Stvari koje treba zapamtiti
- Upotrijebite okvir za poruke u svrhu ispitivanja da biste vidjeli uzastopno pokretanje više kodova.
- Sastavite veće retke kodova pritiskom na tipku F8 da bi se mogao prepoznati dio pogreške.
- Spremite datoteku u makronaredbi Omogući Excel format da biste zadržali pisani kod.
- Upotreba CALL-a prije End pokreće prvi kôd prvi, a nakon prvog podprocedura prvi će pokrenuti drugi kod.
Preporučeni članci
Ovo je vodič za VBA pozive Sub. Ovdje smo raspravljali o tome kako nazvati Sub u Excelu VBA, zajedno s praktičnim primjerima i besplatnim Excel predložakom. Možete i pregledati naše druge predložene članke -
- VBA do petlje
- SUBTOTALNA Formula u Excelu
- VBA Dok je petlja
- Podstring Excel funkcija