Istruzione Sub

Dichiara il nome, gli argomenti e il codice che compongono il corpo di una subroutine.

Sintassi

Sub name [(arglist)] 
   [statements]
   [Exit Sub]
   [statements]
End Sub 
  • name: nome della subroutine; utilizza le convenzioni di denominazione delle variabili standard.

  • arglist: elenco di variabili che rappresentano gli argomenti passati alla subroutine quando viene chiamata. Per separare più variabili, utilizzare la virgola.

  • statements: qualsiasi gruppo di istruzioni da eseguire all'interno del corpo della subroutine.

    Argomenti:

    L'argomento arglist contiene la sintassi e le parti seguenti:

    [ByVal | ByRef] varname[( )]

    • ByVal: indica che l'argomento viene passato in base al valore.

    • ByRef: indica che l'argomento viene passato in base al riferimento.

    • varname: nome della variabile che rappresenta l'argomento; utilizza le convenzioni di denominazione delle variabili standard.

Note

Se non vengono specificate in modo esplicito utilizzando le istruzioni Public o Private, le subroutine sono pubbliche per impostazione predefinita, ovvero sono visibili a tutte le altre routine nello script. Il valore delle variabili locali in una subroutine non viene conservato tra chiamate della routine.

L'istruzione Exit Sub causa l'uscita immediata da una subroutine. L'esecuzione del programma continua con l'istruzione che segue l'istruzione che ha chiamato la subroutine. Qualsiasi numero di istruzioni Exit Sub può essere visualizzato ovunque in una subroutine.

In modo analogo a quanto avviene per una routine Function, una subroutine è una routine distinta che utilizza argomenti, esegue una serie di istruzioni e modifica il valore dei relativi argomenti. Tuttavia, a differenza di una routine Function, che restituisce un valore, una subroutine non può essere utilizzata in un'espressione.

Per chiamare un subroutine, utilizzare il nome della routine seguito dall'elenco degli argomenti. Vedere l'istruzione Call per informazioni specifiche su come chiamare le subroutine.

Esempio 1

Sub mysub()
  'some statements
End Sub

Esempio 2

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