VBA Sub

Excel VBA-subprocedur

SUB i VBA är också känd som en subrutin eller ett förfarande som innehåller all kod, det är ett inbyggt uttalande i VBA och när det används ger det oss automatiskt uttalandet om slutet sub och den mellersta delen används för kodning, kan sub uttalande vara både offentliga och privata och namnet på underproceduren är obligatoriskt i VBA.

Sub betyder subprocedur i VBA. Underprocedurer används för att utföra en specifik uppsättning uppgifter som tillhandahålls i form av kod. Den utför endast den uppgift som nämns i koden enligt VBA-språket men returnerar inte något slags värde.

Hur skriver jag VBA-subprocedurer?

Du kan ladda ner den här VBA-subprocedurmallen här - VBA-subprocedurmallen

För att skriva underprocedurkoder är det viktigt att förstå strukturen för delproceduren. Nedan är strukturen

Sub [Procedurens namn] (Parametrar) [Vad behöver göras?]) Avsluta Sub

För att starta underprocessen måste vi använda ordet “Sub” och vi måste ge ett namn till Sub som ett procedurnamn. Procedur Namn är inget annat än vårt makronamn. I VBA-delproceduren har vi vanligtvis inte parametrar inom parentes.

Efter att ha skrivit Sub-procedurnamnet måste vi skriva de uppgifter som måste utföras. Sedan kommer Slutförklaringen, dvs End Sub.

Exempel # 1 - Enkel delprocedur

Ta nu en titt på de enkla metoderna för skrivprocedurer.

Steg 1: Starta ordet “Sub” i modulen.

Steg 2: Namnge nu makronamnet eller procedurnamnet.

Steg 3: Efter att ha gett namnet till underproceduren trycker du bara på Enter-tangenten så kommer slutdeklarationen automatiskt att tillämpas.

Nu kan vi se två saker här, en är början och en annan är slutet på underprocessen. För bättre förståelse kan vi kalla det "Head" & "Tail".

Mellan makrohuvudet och svansen måste vi skriva vår kod för att utföra någon uppgift.

Exempel # 2 - Enkel subrutinuppgift

Okej, nu får vi se hur man utför några enkla åtgärder här.

Antag att du vill infoga värdet "Excel VBA" i cell A1.

Steg 1: Starta delproceduren med ovanstående metoder.

Koda:

 Underåtgärd1 () Avsluta sub 

Steg 2: För att komma åt cellen A1 måste vi använda ordet RANGE.

Koda:

 Sub Action1 () Range (End Sub 

Steg 3: Det frågar vilken cell1 du vill hänvisa till? I det här fallet är det en A1-cell.

Koda:

 Sub Action1 () Range ("A1") End Sub 

Steg 4: Vi måste infoga värdet "Excel VBA", så välj VALUE-egenskap genom att sätta en punkt efter intervallet.

Koda:

 Sub Action1 () Range ("A1"). Value End Sub 

När du börjar skriva ordet VALUE ser du många alternativ och dessa alternativ kallas en IntelliSense-lista som förutsäger baserat på vad du skriver. Det här är som hur formler kommer att visas i kalkylbladet när vi börjar skriva formeln.

Steg 5: När du har valt VALUE sätter du ett likhetstecken och anger värdet i dubbla citat som "Excel VBA".

Koda:

 Sub Action1 () Range ("A1") Value = "Excel VBA" End Sub 

Så vi är klara.

Nu måste vi utföra denna uppgift. För att utföra den uppgift som vi hade tillbaka måste vi köra den här koden genom att trycka på KÖR-knappen i det visuella grundläggande redigeringsfönstret.

Vi kan också trycka på excel-kortkommandot genom att placera markören inuti makrokoden.

Så snart du kör koden får du värdet "Excel VBA" i cell A1.

Typer av VBA-subrutin

Vi har ytterligare två typer i delprocedur ett är offentligt subprocedur och det andra är privat subprocedur.

Orden "Offentligt" och "Privat" är modifierare för tillgänglighet som gör att vi kan använda dem på olika sätt.

  • Public Sub Procedure tillåter oss att använda proceduren i alla moduler i arbetsboken.
  • Private Sub Procedure tillåter oss att använda proceduren endast i den aktuella modulen, ingen annanstans.

Titta till exempel på bilden nedan av Public Code som finns i modul 1.

Nu i modul 2 kan jag också använda denna delprocedur.

Action1 är namnet på den delprocedur som vi har använt i modul 1.

I modul 2 har jag nämnt det som "Call Action1". Det betyder att när du kör underproceduren kommer den att köra underproceduren Action1 från modul 1.

Privata subprocedurer kan inte nås från en annan modul, vi behöver bara komma åt dem från samma modul.