Sentencia Sub

Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Sub.

Sintaxis

Sub name [(arglist)] 
   [statements]
   [Exit Sub]
   [statements]
End Sub 
  • name: nombre del procedimiento Sub; sigue las convenciones de denominación de variables estándar.

  • arglist: lista de variables que representan argumentos que se transfieren al procedimiento Sub cuando se llama. Las comas separan varias variables.

  • statements: grupo de sentencias que se ejecutarán en el cuerpo del procedimiento Sub.

    Argumentos:

    El argumento arglist tiene la sintaxis y las partes siguientes:

    [ByVal | ByRef] varname[( )]

    • ByVal: indica que el argumento se ha transferido mediante un valor.

    • ByRef: indica que el argumento se ha transferido mediante una referencia.

    • Varname: nombre de la variable que representa el argumento; sigue las convenciones de denominación de variables estándar.

Observaciones

Si no se especifica explícitamente el uso de Public o Private, los procedimientos Sub son públicos de forma predeterminada, es decir, son visibles para todos los demás procedimientos del script. El valor de las variables locales en un procedimiento Sub no se conserva entre las llamadas al procedimiento.

La sentencia Exit Sub provoca una salida inmediata de un procedimiento Sub. La ejecución del programa continúa con la sentencia que sigue a la sentencia que llamó al procedimiento Sub. Puede aparecer cualquier cantidad de sentencias Exit Sub en cualquier parte de un procedimiento Sub.

Al igual que un procedimiento Function, un procedimiento Sub es un procedimiento independiente que puede tomar argumentos, realizar una serie de sentencias y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function, que devuelve un valor, un procedimiento Sub no se puede utilizar en una expresión.

Para llamar a un procedimiento Sub, utilice el nombre del procedimiento seguido de la lista de argumentos. Consulte la sentencia Call para obtener información específica sobre cómo llamar a procedimientos Sub.

Ejemplo 1:

Sub mysub()
  'some statements
End Sub

Ejemplo 2:

Sub mysub(argument1, argument2)
  'some statements
End Sub