GoSub... Instrucción Return

Se ramifica en, y devuelve de, una subrutina dentro de un procedimiento.

Sintaxis

Línea GoSub
...Línea
Línea...
Return

El argumentode línea puede ser cualquier etiqueta de línea o número de línea.

Comentarios

Use GoSub y Return en cualquier lugar de un procedimiento, pero GoSub y la instrucción Return correspondiente deben estar en el mismo procedimiento. 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.

Nota:

[!NOTA] No puede introducir ni salir de los procedimientos Sub con GoSub...Return.

Sugerencia

La creación de procedimientos independientes que puede llamar puede proporcionar una alternativa más estructurada al uso de GoSub...Return.

Ejemplo:

Este ejemplo usa GoSub para llamar a una subrutina dentro de un procedimiento Sub. La instrucción Return hace que se reanude la ejecución en la instrucción inmediatamente posterior a la instrucción GoSub. La instrucción Exit Sub se usa para evitar que el control fluya accidentalmente a la subrutina.

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én

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? 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.