Dela via


Gör så här: Skapa en procedur (Visual Basic)

Du omger en procedur mellan en startdeklarationssats (Sub eller Function) och en slutdeklarationssats (End Sub eller End Function). Alla procedurens kod ligger mellan dessa instruktioner.

En procedur får inte innehålla en annan procedur, så dess start- och slutinstruktioner måste ligga utanför någon annan procedur.

Om du har kod som utför samma uppgift på olika platser kan du skriva uppgiften en gång som en procedur och sedan anropa den från olika platser i koden.

Skapa en procedur som inte returnerar ett värde

  1. Utanför andra procedurer använder du en Sub -instruktion följt av en End Sub -instruktion.

  2. I -instruktionen Sub följer du nyckelordet Sub med namnet på proceduren och sedan parameterlistan inom parenteser.

  3. Placera procedurens kodinstruktioner mellan - och End Sub -uttryckenSub.

Skapa en procedur som returnerar ett värde

  1. Utanför andra procedurer använder du en Function -instruktion följt av en End Function -instruktion.

  2. I -instruktionen Function följer du nyckelordet Function med namnet på proceduren, sedan parameterlistan inom parenteser och sedan en As sats som anger datatypen för returvärdet.

  3. Placera procedurens kodinstruktioner mellan - och End Function -uttryckenFunction.

  4. Använd en Return instruktion för att returnera värdet till den anropande koden.

Så här ansluter du den nya proceduren till de gamla, repetitiva kodblocken

  1. Se till att du definierar den nya proceduren på en plats där den gamla koden har åtkomst till den.

  2. I det gamla, repetitiva kodblocket ersätter du de instruktioner som utför den repetitiva uppgiften med en enda instruktion som anropar proceduren Sub eller Function .

  3. Om proceduren är en Function som returnerar ett värde kontrollerar du att anropsinstrukturen utför en åtgärd med det returnerade värdet, till exempel att lagra det i en variabel, annars går värdet förlorat.

Exempel

Function Följande procedur beräknar den längsta sidan, eller hypotenuse, för en höger triangel, med tanke på värdena för de andra två sidorna:

Function Hypotenuse(side1 As Double, side2 As Double) As Double
    Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function

Se även