Indholdsfortegnelse
I denne artikel vil jeg vise dig, hvordan du kan kalde en Under fra en anden Under eller Funktion på VBA på Excel . Du lærer at kalde en Under med eller uden argumenter, samt både Offentlig og Privat Udskiftninger .
Sådan kaldes en Sub i VBA i Excel (Quick View)
Bemærk: Her er en Under kaldet Sub2 indkalder en Under kaldet Sub1 .
Download arbejdsbog til øvelser
VBA Call Sub.xlsm
Download denne øvelsesbog for at øve dig i opgaven, mens du læser denne artikel.
4 måder at kalde en Sub på i VBA i Excel
Her har vi en Under på VBA kaldet Sub1 .
Hvis du kører Sub1 , får du beskeden "Sub1 er kørt."
I dag er vores mål at lære, hvordan vi kan kalde denne Under fra en anden Under eller Funktion på alle mulige måder.
1. Kald en underafdeling uden argumenter fra en anden underafdeling i VBA i Excel
Først kalder vi en Under uden argument fra en anden Under på VBA .
Her, Sub1 er den Under uden argumenter.
Nu kalder vi den Sub Sub1 fra en anden Under kaldet Sub2 .
For at kalde den Sub Sub1 fra en anden Under , skal du bruge kodelinjen:
Sub1
Eller
Kald Sub1
Hvis du nu køre Sub2 , Sub1 vil blive kaldt, og meddelelsen "Sub1 er kørt." vil blive vist.
2. Kald en underfunktion med argumenter fra en anden underfunktion i VBA i Excel
Nu kalder vi en Under med argumenter fra en anden Under på VBA .
Her har vi ændret Under Sub1 på en sådan måde, at den indeholder et argument kaldet Input_Value , og når den køres, vises dette argument.
For at kalde dette Under fra en anden Under ( Sub2 ), skal vi bruge denne kodelinje:
Sub1(Input_Value)
Eller
Kald Sub1(Input_Value)
Her har vi brugt:
Kald Sub1(10)
Når vi nu skal køre Sub2 , Sub1 vil blive kaldt med input 10 , og 10 vil blive vist i en Meddelelsesboks .
Lignende læsninger:
- Sådan returneres en værdi i VBA-funktion (både Array og Non-Array-værdier)
- Brug LCase-funktionen i VBA i Excel (med 4 eksempler)
- Sådan bruger du VBA SPLIT-funktionen i Excel (5 eksempler)
- Brug TRIM-funktionen i VBA i Excel (Definition + VBA-kode)
3. Kald en underfunktion med/uden argumenter fra en brugerdefineret funktion i VBA i Excel
Du kan også kalde en Under fra en Brugerdefineret funktion på VBA .
⧭ Sub uden argumenter
Lad os kalde en Under uden argumenter først.
Her har vi igen ændret Under Sub1 til den uden argumenter.
Nu opretter vi en Funktion kaldet Funktion1 og kalder Sub1 fra denne funktion.
For at kalde en Under fra en funktion, er den kodelinje, der skal bruges, den samme:
Sub1
Eller
Kald Sub1
Hvis du nu indsætter Funktion1 i en vilkårlig celle i regnearket, Sub1 vil blive kaldt, og en Meddelelsesboks vil vise "Sub1 er kørt." .
⧭ Sub med argumenter
Du kan også kalde en Under med argumenter fra en Brugerdefineret funktion på VBA på Excel .
Her har vi ændret Sub1 til den med argumenter igen.
Nu har vi kaldt Sub1 fra Funktion1 af den pågældende kodelinje:
Kald Sub1(10)
Hvis vi nu indsætter Funktion1 i en hvilken som helst celle i vores regneark, vil den vise 10 i en Meddelelsesboks .
4. Kald en privat underfunktion fra en anden underfunktion eller funktion i VBA i Excel
Indtil nu har vi kaldt en Offentlig underafdeling fra en anden Under eller Funktion Denne gang vil vi vise, hvordan du kan kalde en Privat underafdeling fra en anden Under eller Funktion på VBA .
⧭ Opkald fra en Sub:
Du kan kun kalde en Privat underafdeling fra en anden Under hvis de to er i det samme modul i din VBA vindue.
Her har vi ændret Sub1 til en Privat underafdeling ved at tilføje udtrykket Privat i den første linje. Og kaldte den fra Sub2 som befinder sig i samme modul.
Hvis du nu kører Sub2 , får du en Meddelelsesboks visning af 10 .
⧭ Kald fra en funktion:
Det samme gælder for funktioner. For at kalde en Privat underafdeling fra en Funktion på VBA , den Under og Funktion skal være i det samme modul.
Her har vi indsat Privat underafdeling Sub1 og Funktion Funktion1 i det samme modul.
Hvis vi nu indsætter Funktion1 i en hvilken som helst celle i vores regneark, en Meddelelsesboks vil vise 10 .
Resumé
Her er et resumé af alle de punkter, der blev drøftet i dag:
- Du kan kalde en Under fra en anden Under eller Brugerdefineret funktion på VBA ved at anvende udtrykket "Call" med navnet på den Under , eller blot sætte navnet på den Under .
- Hvis den Under der skal kaldes, indeholder en argument , skal du kalde den Under med en hvilken som helst værdi af denne argument .
- Hvis den Under der skal kaldes, deklareres som en Privat en, skal du kalde den fra en anden Under eller Funktion af det samme modul.
Konklusion
Ved hjælp af disse metoder kan du kalde en Under fra en anden Under eller Funktion på VBA i Excel. Har du spørgsmål, er du velkommen til at stille dem til os.