GoTo statement

Branches unconditionally to a specified line within a procedure.

Syntax

GoTo line

The required line argument can be any line label or line number.

Remarks

GoTo can branch only to lines within the procedure where it appears.

Note

Too many GoTo statements can make code difficult to read and debug. Use structured control statements (Do...Loop, For...Next, If...Then...Else, Select Case) whenever possible.

Example

This example uses the GoTo statement to branch to line labels within a procedure.

Sub GotoStatementDemo() 
Dim Number, MyString 
 Number = 1 ' Initialize variable. 
 ' Evaluate Number and branch to appropriate label. 
 If Number = 1 Then GoTo Line1 Else GoTo Line2 
 
Line1: 
 MyString = "Number equals 1" 
 GoTo LastLine ' Go to LastLine. 
Line2: 
 ' The following statement never gets executed. 
 MyString = "Number equals 2" 
LastLine: 
 Debug.Print MyString ' Print "Number equals 1" in 
 ' the Immediate window. 
End Sub

See also

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.