Innholdsfortegnelse
I denne artikkelen skal jeg vise deg hvordan du kan ringe en Sub fra en annen Sub eller Funksjon i VBA i Excel . Du lærer å kalle en Sub med eller uten argumenter, samt både Public og Private Subs .
Hvordan ringe en Sub i VBA i Excel (Quick View)
Merk: Her er en Sub kalt Sub2 kaller en Sub kalt Sub1 .
Last ned øvelsesarbeidsbok
VBA Call Sub.xlsm
Last ned denne øvingsboken for å utføre oppgaven mens du leser denne artikkelen.
4 måter å ringe en Sub i VBA i Excel
Her har vi en Sub i VBA kalt Sub1 .
Hvis du kjører Sub1 , får du meldingen “Sub1 er kjørt.”
I dag Målet vårt er å lære hvordan vi kan kalle denne Sub fra en annen Sub eller Funksjon på alle mulige måter.
1. Kalle en Sub uten argumenter fra en annen Sub i VBA i Excel
Først kaller vi en Sub uten argument fra en annen Sub i VBA .
Her er Sub1 Sub uten argumenter.
Nå kaller vi Sub-sub1 fra en annen Sub kalt Sub2 .
For å ringe Sub1 fra en annen Sub , må du for å bruke kodelinjen:
Sub1
Eller
Call Sub1
Nå hvis du kjører Sub2 , Sub1 vil bli kalt og meldingen “Sub1 is Run.” vil vises.
2. Kalle en Sub med argumenter fra en annen Sub i VBA i Excel
Nå kaller vi en Sub med argumenter fra en annen Sub i VBA .
Her har vi endret Sub Sub1 på en slik måte at den inneholder et argument kalt Input_Value , og når run, viser det argumentet.
For å kalle denne Sub fra en annen Sub ( Sub2 ), vi må bruke kodelinjen:
Sub1(Input_Value)
Eller
Call Sub1(Input_Value)
Her har vi brukt:
Call Sub1(10)
Når vi kjører Sub2 , vil Sub1 bli anropt med inngangen 10 , og 10 vises i en Meldingsboks .
Lignende avlesninger:
- Hvordan returnere en verdi i VBA-funksjon (både matrise- og ikke-matriseverdier)
- Bruk LCase-funksjonen i VBA i Excel (med 4 eksempler)
- Hvordan Bruk VBA SPLIT-funksjonen i Excel (5 eksempler)
- Bruk TRIM-funksjonen i VBA i Excel (definisjon + VBA-kode)
3. Kalle en Sub med/uten argumenter fra en brukerdefinert funksjon i VBA i Excel
Du kan også kalle en Sub fra en Brukerdefinert funksjon i VBA .
⧭ Sub uten argumenter
La oss først kalle en Sub uten argumenter .
Her har vi endret oss igjen Sub Sub1 til den uten argumenter.
Nå skal vi lage en Function kalt Funksjon1 og kall Sub1 fra den funksjonen.
For å kalle en Sub fra en funksjon, er kodelinjen som skal brukes den samme :
Sub1
Eller
Call Sub1
Nå, hvis du setter inn Funksjon1 i en celle i regnearket, vil Sub1 bli kalt og en Meldingsboks vil vise “Sub1 er kjørt.” .
⧭ Sub med argumenter
Du kan også kalle en Sub med argumenter fra en Brukerdefinert funksjon i VBA i Excel .
Her har vi endret Sub1 til den med argumenter igjen.
Nå har vi kalt Sub1 fra Funksjon1 etter kodelinjen:
Call Sub1(10)
Nå hvis vi setter inn Funksjon1 i hvilken som helst celle i regnearket vårt, vil den vise 10 i en meldingsboks .
4. Ring en privat underordnet fra en annen underordnet eller funksjon i VBA i Excel
Til nå har vi kalt en offentlig underordnet fra en annen underordnet eller Funksjon . Denne gangen viser vi hvordan du kan ringe en Privat Sub fra en annen Sub eller Function i VBA .
⧭ Ringe fra en Sub:
Du kan bare ringe en Privat Sub fra en annen Sub hvis de to er i samme modul i VBA -vinduet.
Hervi har endret Sub1 til en Privat Sub ved å legge til termen Privat i den første linjen. Og kalte det fra Sub2 som er i samme modul.
Nå hvis du kjører Sub2 , vil du få en Meldingsboks som viser 10 .
⧭ Ringer fra en funksjon:
Samme for funksjoner. For å kalle en Privat Sub fra en Funksjon i VBA , må Sub og Funksjonen være i samme modul.
Her har vi satt inn Privat Sub Sub1 og Function Function1 i samme modul.
Nå hvis vi setter inn Funksjon1 i en celle i regnearket vårt, vil en meldingsboks vise 10 .
Sammendrag
Her er sammendraget av alle punktene som ble diskutert i dag:
- Du kan ringe en Sub fra en annen Sub eller Brukerdefinert funksjon i VBA ved å bruke termen “Call” med navnet av Sub , eller ganske enkelt angi navnet på Sub .
- Hvis Sub som skal kalles inneholder et argument , må du kalle Sub med hvilken som helst verdi av det argumentet .
- Hvis Sub som skal kalles er erklært som en Privat en, du må kalle den fra en annen Sub eller Funksjon av samme modul.
Konklusjon
Ved bruk av disse metodene, du kan ringe en Sub fra en annen Sub eller Funksjon i VBA i Excel. Har du noen spørsmål? Spør oss gjerne.