On...GoSub Statement; On...GoTo Statement
Tách nhánh đến một của vài dòng mã chương trình đã ghi rõ, phụ thuộc vào giá trị của một biểu thức thuộc số nào đó.
Cú pháp:
On N GoSub Label1[, Label2[, Label3[,...]]]
On NumExpression GoTo Label1[, Label2[, Label3[,...]]]
Tham số :
NumExpression: bất cứ biểu thức thuộc số nào nằm giữa 0 và 255 mà xác định chương trình tách nhánh đến dòng mã nguồn nào. NumExpression là 0 thì không thực hiện câu lệnh. NumExpression lớn hơn 0 thì chương trình nhảy đến nhãn có vị trí tương ứng với biểu thức (1 = nhãn thứ nhất; 2 = nhãn thứ hai).
Nhãn: dòng đích tùy theo cấu trúc GoTo hay GoSub.
Quy ước GoTo hay GoSub là hợp lệ.
Thí dụ :
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 & " Từ Con 1 đến : Return
Sub2:
sVar =sVar & " Từ Con 2 đến" : Return
Line1:
sVar =sVar & " Nhãn 1" : GoTo Ende
Line2:
sVar =sVar & " Nhãn 2"
Ende:
MsgBox sVar,0,"On...GoSub"
End Sub