VBA-subfunctie

Het is het meest essentiële en belangrijkste onderdeel van VBA. Een Subroutine-procedure is een reeks Visual Basic-instructies ingesloten door de Sub- en End Sub-instructies. SUB betekent subroutineprocedure, het is een reeks VBScript-instructies, waarbij geen resultaat of waarde wordt geretourneerd.

Subprocedure neemt meestal argumenten of code (dat wil zeggen variabelen, constanten of uitdrukkingen die worden doorgegeven door een aanroepprocedure) die worden uitgevoerd om een ​​specifieke taak uit te voeren. Sub-instructie bevat lege reeks haakjes () zonder enig argument erin.

Laten we eens kijken, hoe subprocedures te schrijven in Excel VBA?

Basisstructuur van VBA Sub

Sub (Subprocedure of taaknaam) ()

(Welke taak moet worden gedaan?)

Einde Sub

Gewoonlijk begint Subroutine met een Sub- instructie en eindigt met een End Sub- instructie. Subprocedure of taaknaam wordt ook een macronaam genoemd, waar deze geen spaties en een unieke naam mag bevatten. Sub accepteert invoer of code van de gebruiker en geeft informatie weer of drukt deze af. Wanneer de instructie is voltooid, of aan het einde van de instructie, wordt End Sub gebruikt

Opmerking: Sub kan alleen argumenten aannemen, ze geven geen resultaten

Verschillende soorten subroutines in VBA (TOEGANGSMODIFICATIES)

  1. Openbare subprocedure
  2. Private Sub-procedure

Voorafgaand aan het kennen van het verschil tussen hen, moet u zich bewust zijn van "Toegangsniveau", het is een mate van toegang. Public Sub is vergelijkbaar met Sub, waarbij Procedure u toestaat om de procedure of VBA-code in alle modules van de werkmap te gebruiken. terwijl met Private Sub Procedure u de procedure of VBA-code alleen in de huidige module kunt gebruiken. (In het voorbeeld uitgelegd)

Hoe de subfunctie in Excel VBA te gebruiken?

Hieronder staan ​​de verschillende voorbeelden om de subfunctie in Excel te gebruiken met behulp van VBA-code.

U kunt deze VBA Sub Excel-sjabloon hier downloaden - VBA Sub Excel-sjabloon

VBA-subfunctie - Voorbeeld # 1

Stap 1: Klik op het tabblad Ontwikkelaars op Visual Basic in de groep Code of u kunt de sneltoets Alt + F11 gebruiken

Stap 2: Nu kunt u een lege module maken, d.w.z. met de rechtermuisknop op Sheet1 (VBA_SUB) klikken, verschillende opties verschijnen, waarin Invoegen selecteren en onder de invoeging verschijnen drie opties, waar u Module moet selecteren , de lege module wordt gemaakt . U kunt deze hernoemen als "VBA_SUB" onder het eigenschappenvenster

Stap 3: Begin als volgt met de subprocedure en maak een code van VBA_SUB

Code:

 Sub VBA_SUB () Einde Sub 

Stap 4: Zodra u het bereik begint te typen, verschijnt het argument tussen haakjes en klikt u op de tab-toets om het te selecteren. Nadat u een spatie hebt verlaten en een open haakje "(" invoert, verschijnt het argument CELLS waar u de syntaxis of het argument voor de bereikfunctie moet invoeren, bijv. "E5"

Stel dat ik wil dat SUBROUTINE in de cel "E5" verschijnt. Hiervoor moet ik = "SUBROUTINE" na bereikfunctie typen . en klik vervolgens op enter.

Nu is de code klaar,

Code:

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

Stap 5: Nu kunt u de macro uitvoeren door te klikken op de knop Sub uitvoeren (dwz groene knop 'afspelen') of door op F5 te drukken. U kunt zien dat "SUBROUTINE" verschijnt in de cel "B4"

VBA-subfunctie - Voorbeeld # 2

Stap 1: Begin met de Sub en nu zullen we zien hoe we de functie kunnen aanroepen met behulp van de MsgBox.

Code:

 Private Sub Display_Message () MsgBox "mijn eerste programma" End Sub 

Stap 2: Stel dat wanneer u de hierboven genoemde code in de VBA_SUB-module uitvoert, dit zal werken, maar wanneer u probeert deze te kopiëren en naar een andere module uit te voeren, dwz voer deze code uit in nieuw gecreëerde module 1 van blad 2 of 3, een pop-upbericht verschijnt niet.

VBA-subfunctie - Voorbeeld # 3

Stap 1: Openbare subprocedures zijn toegankelijk vanuit een andere module, laten we eens kijken hoe het werkt.

Code:

 Public Sub task_1 () Range ("H7") = "PUBLIC SUBROUTINE" End Sub 

Stap 2: Wanneer ik de bovengenoemde code (Public sub task_1 ) in de module VBA_SUB uitvoer, geeft dit de waarde of het resultaat terug, bijv. "PUBLIC SUBROUTINE" tekststring in de cel "H7" van sheet1

Stel dat ik dezelfde code wil uitvoeren in een nieuwe module, dat wil zeggen PUBLIC_SUB, dan is het niet nodig om de volledige code in die module te schrijven, alleen vermeldt u de macronaam ie call task_1, in plaats van de bereikfunctie in de tweede coderegel, krijgt u dezelfde uitvoer of hetzelfde resultaat, bijv. "PUBLIC SUBROUTINE" -tekstreeks in de cel "H7" van blad2.

Code:

 Public Sub task_2 () Call task_1 End Sub 

Sla uw werkmap op als "Excel macro-werkmap". Wanneer u dit Excel-bestand opnieuw opent, kunt u de hieronder genoemde sneltoets gebruiken

  • Functie + Alt + F11 sneltoets helpt u toegang te krijgen tot alle gemaakte macro-code van de werkmap
  • Functie + Alt + F8 sneltoets helpt u om een ​​dialoogvenster "Macro" te openen, dat alle macro-namen bevat, waar u een specifieke macro-code naar keuze kunt uitvoeren

Dingen om te onthouden

  • Als er aan het begin van een VBA-functie, bijvoorbeeld Sub-aangifte, geen trefwoord zoals PUBLIC of PRIVATE wordt genoemd of ingevoegd, wordt de standaardinstelling "Public" Sub gebruikt.
  • Het Intellisense-menu is het vervolgkeuzemenu dat verschijnt, zelfs wanneer u een punt "." Typt in de VB-code of het Editor-venster). De vervolgkeuzelijst bevat een lijst met alle leden van de actieve referentie van het VB OBJECT-MODEL (dat wil zeggen objecten, eigenschappen, variabelen, methoden en constanten). Deze functie helpt bij het besparen van tijd en voorkomt het verkeerd spellen van woorden of typefouten.
  • Afgezien van End Sub, is er een optie van de Exit Sub- instructie tussen SUB en END SUB die ervoor zorgt of je helpt bij een onmiddellijke exit van een Sub-procedure.

Aanbevolen artikelen

Dit is een gids voor VBA SUB. Hier bespreken we hoe u Excel VBA SUB kunt gebruiken, samen met praktische voorbeelden en een downloadbare Excel-sjabloon. U kunt ook onze andere voorgestelde artikelen doornemen -

  1. Werken met VBA Active Cell
  2. Een rij verwijderen in VBA
  3. Hoe Excel VBA Transpose gebruiken?
  4. Hoe 1004 Fout met behulp van VBA te repareren

Categorie: