Kako pozvati sub u VBA u Excelu (4 primjera)

  • Podijeli Ovo
Hugh West

U ovom članku ću vam pokazati kako možete pozvati Sub iz drugog Sub ili Function u VBA u Excel . Naučit ćete pozvati Sub sa ili bez argumenata, kao i Javni i Privatni Subs .

Kako pozvati sub u VBA u Excelu (brzi pregled)

Napomena: Ovdje pod pod nazivom Sub2 poziva Sub nazvan Sub1 .

Preuzmi radnu svesku za vježbe

VBA Call Sub.xlsm

Preuzmite ovu vježbu da biste vježbali zadatak dok čitate ovaj članak.

4 načina da pozovete sub u VBA u Excel

Ovdje imamo Sub u VBA pod nazivom Sub1 .

Ako pokrenete Sub1 , dobit ćete poruku "Sub1 je pokrenut."

Danas naš cilj je naučiti kako možemo nazvati ovo Sub iz druge Sub ili Function na sve moguće načine.

1. Pozovite pod bez argumenata iz drugog podpodloga u VBA u programu Excel

Prvo, pozvaćemo pod bez ikakvog argumenta iz drugog pod u VBA .

Ovdje, Sub1 je Sub bez argumenata.

Sada ćemo zvati Sub Sub1 od drugog Sub zvanog Sub2 .

Da biste pozvali Sub Sub1 iz drugog Sub , morate da koristite liniju koda:

Sub1

Ili

Call Sub1

Sada ako pokrenete Sub2 , Sub1 će biti pozvan i poruka “Sub1 is Run.” će biti prikazana.

2. Pozovite pod s argumentima iz drugog podpodloga u VBA u programu Excel

Sada ćemo pozvati pod s argumentima iz drugog pod u VBA .

Ovdje smo promijenili Sub Sub1 na takav način da sadrži argument pod nazivom Input_Value , a kada run, prikazuje taj argument.

Da pozovete ovaj Sub iz drugog Sub ( Sub2 ), moramo koristiti liniju koda:

Sub1(Input_Value)

Ili

Call Sub1(Input_Value)

Ovdje smo koristili:

Call Sub1(10)

Sada, kada pokrenemo Sub2 , Sub1 će biti pozvan sa ulazom 10 , a 10 će biti prikazan u Kutija za poruke .

Slična očitanja:

  • Kako vratiti vrijednost u VBA funkciji (i vrijednosti niza i vrijednosti koje nisu niz)
  • Koristite funkciju LCase u VBA u Excelu (sa 4 primjera)
  • Kako Koristite VBA SPLIT funkciju u Excelu (5 primjera)
  • Koristite funkciju TRIM u VBA u Excelu (Definicija + VBA kod)

3. Pozvati sub sa/bez argumenata iz korisnički definirane funkcije u VBA u Excelu

Možete pozvati i pod iz korisnički definirane funkcije u VBA .

Sub bez argumenata

Pozovimo prvo Sub bez argumenata .

Opet smo se promijenili Sub Sub1 na onu bez argumenata.

Sada ćemo kreirati Function tzv. Funkcija1 i pozovite Sub1 iz te funkcije.

Da biste pozvali Sub iz funkcije, red koda koji se koristi je isti :

Sub1

Ili

Call Sub1

Sada, ako umetnete Funkcija1 u bilo koju ćeliju vašeg radnog lista, Sub1 će biti pozvan i Boks za poruke će prikazati “Sub1 je pokrenut.” .

Sub s argumentima

Također možete pozvati Sub s argumentima iz korisnički definirane funkcije u VBA u Excel .

Ovdje smo ponovo promijenili Sub1 u onaj s argumentima.

Sada smo pozvali Sub1 iz Funkcija1 po redu koda:

Call Sub1(10)

Sada ako ubacimo Function1 u bilo kojoj ćeliji našeg radnog lista, prikazat će 10 u Message Box .

4. Pozivanje privatnog sub-a iz drugog pod ili funkcije u VBA u programu Excel

Do sada smo zvali javni sub iz drugog pod ili Funkcija . Ovaj put ćemo pokazati kako možete pozvati Privatni pod iz drugog Sub ili funkcije u VBA .

Pozivanje sa sub:

Možete pozvati privatni sub samo iz drugog pod ako oni dva su u istom modulu vašeg VBA prozora.

Ovdjepromijenili smo Sub1 u Private Sub dodavanjem termina Private u prvom redu. I nazvao ga iz Sub2 koji je u istom modulu.

Sada ako pokrenete Sub2 , dobit ćete Okvir za poruke koji prikazuje 10 .

Pozivanje iz funkcije:

Isto za funkcije. Da biste pozvali Private Sub iz Function u VBA , Sub i Function moraju biti u isti modul.

Ovdje smo ubacili Private Sub Sub1 i Function Function1 u isti modul.

Sada ako ubacimo Funkcija1 u bilo koju ćeliju našeg radnog lista, Poruka okvir će prikazati 10 .

Sažetak

Ovde je sažetak svih tačaka o kojima se danas raspravlja:

  • Možete pozvati Sub iz druge Sub ili korisnički definirane funkcije u VBA korištenjem termina “Call” s imenom od Sub , ili jednostavno stavljanje imena Sub .
  • Ako Sub koji treba pozvati sadrži argument , morate pozvati Sub sa bilo kojom vrijednošću tog argumenta .
  • Ako je Sub koji treba pozvati deklariran kao Privatni , morate ga pozvati iz drugog Sub ili Funkcije istog modula.

Zaključak

Upotrebom ovih metoda, možete pozvati Sub iz druge Sub ili Function u VBA u Excelu. Imate bilo kakvih pitanja? Slobodno nas pitajte.

Hugh West je vrlo iskusan Excel trener i analitičar s više od 10 godina iskustva u industriji. Diplomirao je računovodstvo i finansije i magistrirao poslovnu administraciju. Hugh ima strast prema podučavanju i razvio je jedinstven pristup podučavanju koji je lako pratiti i razumjeti. Njegovo stručno znanje o Excel-u pomoglo je hiljadama studenata i profesionalaca širom svijeta da poboljšaju svoje vještine i napreduju u karijeri. Kroz svoj blog, Hugh dijeli svoje znanje sa svijetom, nudeći besplatne Excel tutorijale i online obuku kako bi pomogli pojedincima i preduzećima da ostvare svoj puni potencijal.