On...GoSub İfadesi; On...GoTo İfadesi
Sayısal ifadenin değerine bağlı olarak program kodundaki belirlenmiş satırların birine ait alt gruplar.
Sözdizimi:
On N GoSub Label1[, Label2[, Label3[,...]]]
On NumExpression GoTo Label1[, Label2[, Label3[,...]]]
Parametreler:
Sayısalİfade: programın hangi satırlara dallanacağını belirleyen 0 ve 255 arasındaki herhangi bir sayısal ifadedir. Eğer Sayısalİfade 0 ' sa, ifade çalıştırılmaz. Eğer Sayısalİfade 0 ' dan büyükse, program (1 = Birinci etiket; 2 = İkinci etiket) ifadesine karşılık gelen bir pozisyon numarasına sahip etikete atlar.
Etiket: Hedef çizgi GoTo ya da GoSub yapısına göredir.
GoTo ya da GoSub kuralları geçerlidir.
Örnek:
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