Esta es una pregunta sobre el alcance .
Si solo desea que las variables duren la vida útil de la función, use Dim
(abreviatura de Dimension ) dentro de la función o sub para declarar las variables:
Function AddSomeNumbers() As Integer
Dim intA As Integer
Dim intB As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
'intA and intB are no longer available since the function ended
Una variable global (como señaló SLaks) se declara fuera de la función utilizando la Public
palabra clave. Esta variable estará disponible durante la vida de su aplicación en ejecución. En el caso de Excel, esto significa que las variables estarán disponibles siempre que ese libro de Excel en particular esté abierto.
Public intA As Integer
Private intB As Integer
Function AddSomeNumbers() As Integer
intA = 2
intB = 3
AddSomeNumbers = intA + intB
End Function
'intA and intB are still both available. However, because intA is public, '
'it can also be referenced from code in other modules. Because intB is private,'
'it will be hidden from other modules.
También puede tener variables que solo sean accesibles dentro de un módulo (o clase) particular al declararlas con la Private
palabra clave.
Si está creando una aplicación grande y siente la necesidad de usar variables globales, recomendaría crear un módulo separado solo para sus variables globales. Esto debería ayudarlo a realizar un seguimiento de ellos en un solo lugar.