On...GoSub-udtryk; On...GoTo-udtryk
Forgrener til en af adskillige specificerede linjer i programkoden afhængigt af værdien af et numerisk udtryk.
Syntaks:
On N GoSub Label1[, Label2[, Label3[,...]]]
On NumExpression GoTo Label1[, Label2[, Label[,...]]]
Parametre:
NumExpression: Ethvert numerisk udtryk mellem 0 og 255 der afgør hvilken af linjerne programmet forgrener til. Hvis NumExpression er 0, vil sætningen ikke blive udført. Hvis NumExpression er større end 0, hopper programmet til etiketten som har et positionstal som svarer til udtrykket (1 = Første Label; 2 = Anden Label)
Label: Mållinje ifølge GoTo eller GoSub-struktur.
Koventionerne for GoTo eller GoSub gælder.
Eksempel:
Sub ExampleOnGosub
Dim iVar As Integer
Dim sVar As String
iVar = 2
sVar =""
On iVar GoSub Sub1, Sub2
On iVar GoTo Line1, Line2
Exit Sub
Sub1:
sVar =sVar & " Fra Sub 1 til" : Return
Sub2:
sVar =sVar & " Fra Sub 2 til" : Return
Line1:
sVar =sVar & " Etiket 1" : GoTo Ende
Line2:
sVar =sVar & " Etiket 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub