GoSub... Instrucción returnGoSub...Return statement

Se ramifica en, y devuelve de, una subrutina dentro de un procedimiento.Branches to and returns from a subroutine within a procedure.

SintaxisSyntax

GoSub líneaGoSub line
...línea de... line
línea de...line ...
ReturnReturn


El __ argumento line puede ser cualquier etiqueta de línea o número de línea.The line argument can be any line label or line number.

ObservacionesRemarks

Puede usar GoSub y Return en cualquier lugar de un procedimiento pero GoSub y la instrucción Return correspondiente se pueden encontrar en el mismo procedimiento.You can use GoSub and Return anywhere in a procedure, but GoSub and the corresponding Return statement must be in the same procedure. Una subrutina puede contener más de una instrucción Return pero la primera instrucción Return encontrada hace que el flujo de ejecución se ramifique de nuevo en la instrucción inmediatamente después de la instrucción GoSub ejecutada más recientemente.A subroutine can contain more than one Return statement, but the first Return statement encountered causes the flow of execution to branch back to the statement immediately following the most recently executed GoSub statement.

Nota

No puede introducir ni salir de los procedimientos Sub con GoSub...Return.You can't enter or exit Sub procedures with GoSub...Return.

Sugerencia

La creación de procedimientos independientes que puede llamar puede proporcionar una alternativa más estructurada al uso de GoSub...Return.Creating separate procedures that you can call may provide a more structured alternative to using GoSub...Return.

EjemploExample

Este ejemplo usa GoSub para llamar a una subrutina dentro de un procedimiento Sub.This example uses GoSub to call a subroutine within a Sub procedure. La instrucción Return hace que se reanude la ejecución en la instrucción inmediatamente posterior a la instrucción GoSub.The Return statement causes the execution to resume at the statement immediately following the GoSub statement. La instrucción Exit sub se usa para evitar que el control fluya accidentalmente a la subrutina.The Exit Sub statement is used to prevent control from accidentally flowing into the subroutine.

Sub GosubDemo() 
Dim Num 
' Solicit a number from the user. 
 Num = InputBox("Enter a positive number to be divided by 2.") 
' Only use routine if user enters a positive number. 
 If Num > 0 Then GoSub MyRoutine 
 Debug.Print Num 
 Exit Sub ' Use Exit to prevent an error. 
MyRoutine: 
 Num = Num/2 ' Perform the division. 
 Return ' Return control to statement. 
End Sub ' following the GoSub statement. 

Vea tambiénSee also

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.