VBA-subfunktion

Det er den mest væsentlige og mest betydningsfulde komponent i VBA. En sub-rutineprocedure er en serie Visual Basic-sætninger vedlagt af Sub- og End Sub-sætningerne. SUB betyder subroutine-procedure, det er en række VBScript-udsagn, hvor det ikke returnerer et resultat eller en værdi.

Underproceduren tager normalt argumenter eller kode (dvs. variabler, konstanter eller udtryk, der sendes af en opkaldsprocedure), der udføres for at udføre en bestemt opgave. Underopgørelsen indeholder tomme sæt af parenteser () uden noget argument i den.

Lad os tjekke ud, hvordan man skriver underprocedurer i Excel VBA?

Grundlæggende struktur for VBA-sub

Sub (Underprocedure eller opgavens navn) ()

(Hvilken opgave skal der udføres?)

Afslut under

Normalt begynder Subroutine med en Sub- sætning og slutter med en End Sub- sætning. Underprocedure eller opgavenavn kaldes også et makronavn, hvor det ikke bør indeholde mellemrum og et unikt navn. Sub accepterer input eller kode fra brugeren og viser eller udskriver information. Når erklæringen er færdig, eller i slutningen af ​​sætningen, bruges End Sub

Bemærk: Sub kan kun tage argumenter, de returnerer ikke resultater

Forskellige typer subroutine i VBA (TILGANGSMODIFIER)

  1. Offentlig underprocedure
  2. Privat underprocedure

Før du kender forskellen mellem dem, skal du være opmærksom på "Adgangsniveau", det er et omfang af evnen til at få adgang til det. Public Sub ligner Sub, hvor Procedure giver dig mulighed for at bruge proceduren eller VBA-koden i alle moduler i projektmappen. mens privat underprocedure kun tillader dig at bruge proceduren eller VBA-koden i det aktuelle modul. (Forklaret i eksemplet)

Sådan bruges subfunktion i Excel VBA?

Nedenfor er de forskellige eksempler til brug af subfunktion i Excel ved hjælp af VBA-kode.

Du kan downloade denne VBA Sub Excel-skabelon her - VBA Sub Excel-skabelon

VBA-subfunktion - eksempel # 1

Trin 1: I fanen Udvikler skal du klikke på Visual Basic i kodegruppen, eller du kan bruge genvejstasten Alt + F11

Trin 2: Nu kan du oprette et tomt modul, dvs. højreklikke på Ark1 (VBA_SUB), forskellige indstillinger vises, i det vælg Indsæt og under indsatsen vises tre indstillinger, hvor du har brug for at vælge Modul, det tomme modul bliver oprettet . Du kan omdøbe det til “VBA_SUB” under vinduet med egenskaber

Trin 3: Start med underprocedure som følger, og opret kode for VBA_SUB

Kode:

 Sub VBA_SUB () End Sub 

Trin 4: Når du begynder at indtaste rækkevidde, vises dens argument i parentesen og klik på fanen tasten for at vælge det. Når du har forladt et mellemrum og indtastet åbent beslag "(", vises CELLS-argumentet, hvor du har brug for at indtaste syntaks eller argument for rækkefunktionen, dvs. "E5"

Antag, at jeg ønsker, at SUBROUTINE skal vises i cellen "E5". For at dette skal ske, skal jeg indtaste = "SUBROUTINE" efter rækkevidde-funktion. og klik derefter på enter.

Nu er koden klar,

Kode:

 Sub VBA_SUB () Range ("E5") = "SUB ROUTINE" End Sub 

Trin 5: Nu kan du køre makroen ved at klikke på knappen Kør under (dvs. grøn “play” -knap) eller ved at trykke på F5 . Du kan se, at "SUBROUTINE" vises i cellen "B4"

VBA-subfunktion - eksempel # 2

Trin 1: Start med Sub, og nu vil vi se, hvordan vi kan kalde funktionen ved hjælp af MsgBox.

Kode:

 Private Sub Display_Message () MsgBox "mit første program" End Sub 

Trin 2: Antag, at når du kører ovennævnte kode i VBA_SUB-modulet, fungerer det, men når du prøver at kopiere og køre det til et andet modul, dvs. køre denne kode i det nyligt oprettede modul 1 i ark 2 eller 3, popup-besked vises ikke.

VBA-subfunktion - eksempel # 3

Trin 1: Offentlige underprocedurer kan fås fra et andet modul, lad os se, hvordan det fungerer.

Kode:

 Public Sub task_1 () Range ("H7") = "OFFENTLIG SUBROUTIN" End Sub 

Trin 2: Når jeg kører ovennævnte kode (Offentlig underopgave_1 ) i VBA_SUB-modulet, returnerer det værdien eller resultatet, dvs. "PUBLIC SUBROUTINE" tekststreng i cellen "H7" i ark1

Antag, jeg vil køre den samme kode i det nyligt oprettede modul, dvs. PUBLIC_SUB, så det er ikke påkrævet at skrive hele koden i det modul, bare du nævner makronavnet, dvs. ringe til opgave_1, i stedet for rækkefunktion i den anden kodelinie, får du den samme output eller resultat, dvs. "PUBLIC SUBROUTINE" tekststreng i cellen "H7" i ark2.

Kode:

 Public Sub task_2 () Call task_1 End Sub 

Gem din projektmappe som "Excel-makroaktiveret projektmappe". Når du åbner denne excel-fil igen, kan du bruge nedenstående genvejstast, dvs.

  • Funktion + Alt + F11 genvejstast hjælper dig med at få adgang til al den oprettede makrokode i projektmappen
  • Funktion + Alt + F8 genvejstast hjælper dig med at åbne et "Makro" -dialogboksvindue, der indeholder alt makronavnet, hvor du kan køre en bestemt makrokode efter eget valg

Ting at huske

  • Hvis der ikke nævnes eller indsættes intet nøgleord som PUBLIC eller PRIVATE ved starten af ​​en VBA-funktion, dvs. Sub-erklæring, vil den overveje standardindstillingen “Public” Sub.
  • Intellisense-menuen er rullemenuen, der vises, selv når du indtaster en periode “.” I VB-kode eller Editor-vinduet) dropdown indeholder en liste over alle medlemmerne af den aktive reference til VB OBJECT MODEL (dvs. inkluderer objekter, egenskaber, variabler, metoder og konstanter). Denne funktion hjælper med at spare tid og forhindre stavefejl i ordene eller skrivefejl.
  • Bortset fra End Sub er der en mulighed for Exit Sub statement mellem SUB og END SUB, der forårsager eller hjælper dig med en øjeblikkelig exit fra en Sub-procedure.

Anbefalede artikler

Dette er en guide til VBA SUB. Her diskuterer vi, hvordan man bruger Excel VBA SUB sammen med praktiske eksempler og downloadbar excel-skabelon. Du kan også gennemgå vores andre foreslåede artikler -

  1. Arbejder med VBA Active Cell
  2. Sletning af en række i VBA
  3. Sådan bruges Excel VBA-transponering?
  4. Sådan rettes 1004-fejl ved brug af VBA

Kategori: