# On...GoSub Statement; On...GoTo Statement

āĻ¸āĻāĻā§āĻ¯āĻžāĻ¸ā§āĻāĻ āĻāĻā§āĻ¸āĻĒā§āĻ°ā§āĻļāĻ¨ā§āĻ° āĻŽāĻžāĻ¨ā§āĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻļā§āĻ˛, āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻā§āĻĄā§ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻāĻāĻāĻŋāĻ¤ā§ āĻļāĻžāĻāĻžāĻ­ā§āĻā§āĻ¤ āĻāĻ°ā§ āĻĨāĻžāĻā§āĨ¤

### Syntax:

``````
On expression GoSub Label1[, Label2[, Label3[,...]]]
On expression GoTo Label1[, Label2[, Label3[,...]]]
``````

### Parameters:

expression: Any numeric expression between 0 and 255 that determines which of the lines the program branches to. If expression is 0, the statement is not executed. If expression is greater than 0, the program jumps to the label that has a position number that corresponds to the expression (1 = First label; 2 = Second label)

label: Target line according to GoTo or GoSub structure.

GoTo āĻāĻĨāĻŦāĻž GoSub āĻāĻ¨āĻ­ā§āĻ¨āĻļāĻ¨ āĻāĻžāĻ°ā§āĻ¯āĻāĻ°āĨ¤

### Example:

``````
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 & " From Sub 1 to" : Return
Sub2:
sVar =sVar & " From Sub 2 to" : Return
Line1:
sVar =sVar & " Label 1" : GoTo Ende
Line2:
sVar =sVar & " Label 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub
``````