Sådan kalder du en Sub i VBA i Excel (4 eksempler)

  • Del Dette
Hugh West

I denne artikel vil jeg vise dig, hvordan du kan kalde en Under fra en anden Under eller Funktion VBA 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 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 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 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 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 VBA 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 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 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 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 VBA i Excel. Har du spørgsmål, er du velkommen til at stille dem til os.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.