C'est une question à propos de la portée.
Si vous voulez seulement les variables pour durer la durée de vie de la fonction, utilisez Dim
(de Dimension) à l'intérieur de la fonction ou sous-déclarer les 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
Un mondial de la variable (comme SLaks souligné) est déclarée en dehors de la fonction à l'aide de l' Public
mot-clé. Cette variable sera disponible au cours de la durée de vie de votre application en cours d'exécution. Dans le cas d'Excel, cela signifie que les variables seront disponibles tant que particulier Excel classeur est ouvert.
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.
Vous pouvez également avoir des variables qui ne sont accessibles qu'à l'intérieur d'un module particulier (ou une classe) en les déclarant avec l' Private
mot-clé.
Si vous êtes à la construction d'une grosse application et avoir besoin d'utiliser des variables globales, je recommande la création d'un module séparé juste pour vos variables globales. Cela devrait vous aider à garder une trace d'eux dans un seul endroit.