通俗点讲:Goto语句只能“去”,但不能返回。
而GoSub不仅仅可以去,还可以通过Return返回到Gosub语句后面。
例如:
Sub xx()
Dim i as long
i = 1
Goto iNext
i = 100
Msgbox i
Exit Sub '通常Goto或者Gosub语句,如果跳转后代码在末尾,为防止多余程序运行,需要添加Exit Sub提前终止代码运行。
iNext:
msgbox i '那么Goto到这里就只能向下运行到End Sub结束程序了。
End Sub
Sub yy()
Dim i as long
i = 1
GoSub iNext
i = 100
Msgbox i
Exit Sub '注意通常Goto或者Gosub语句,如果跳转后代码在末尾,为防止多余程序运行,需要添加Exit Sub提前终止代码运行。
iNext:
msgbox i 'ok,Gosub不仅仅在这里运行了。
Return '而且,通过这里程序又返回到Gosub iNext后面,接下来执行i = 100了。
End Sub
以上就是Goto与Gosub语句的主要区别所在!