On...GoSub Statement; On...GoTo Statement
์ซ์ ์์ ๊ฐ์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ ์ฝ๋์ ์ฌ๋ฌ ์ง์ ํ ์ค ์ค ํ๋๋ก ๋ถ๊ธฐํฉ๋๋ค.
๊ตฌ๋ฌธ:
On N GoSub Label1[, Label2[, Label3[,...]]]
On NumExpression GoTo Label1[, Label2[, Label3[,...]]]
๋งค๊ฐ ๋ณ์:
NumExpression: ํ๋ก๊ทธ๋จ์ด ๋ถ๊ธฐํ๋ ์ค์ ๊ฒฐ์ ํ๋ 0์์ 255 ์ฌ์ด์ ์์์ ์ซ์ ์์ ๋๋ค. NumExpression์ด 0์ผ ๊ฒฝ์ฐ ๋ฌธ์ด ์คํ๋์ง ์์ต๋๋ค. NumExpression์ด 0๋ณด๋ค ํด ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ์์ ํด๋นํ๋ ์์น ๋ฒํธ๋ฅผ ๊ฐ์ง ๋ ์ด๋ธ(1 = ์ฒซ ๋ฒ์งธ ๋ ์ด๋ธ, 2 = ๋ ๋ฒ์งธ ๋ ์ด๋ธ ๋ฑ)๋ก ์ด๋ํฉ๋๋ค,
Label: GoTo ๋๋ GoSub ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ฅด๋ ๋์ ์ค์ ๋๋ค.

GoTo ๋๋ GoSub ๊ท์น์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์:
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