Public Static variable en vba excel

Est-il possible d'avoir une statique de la variable déclarée dans une procédure, et l'utilisation de cette variable dans les différentes procédures à l'aide de VBA Excel?

c'est à dire

Public myvar as integer

Sub SetVar()
   static myvar as integer
   myvar=999
end sub

sub Usevar()
    dim newvar as integer
    newvar=myvar*0.5
end sub

J'ai besoin de myvar à être vu par d'autres procédures, et de ne pas changer ou de se "perdre". Le code ci-dessus fonctionne si myvar n'est pas déclaré comme une variable statique, mais plus de code alors la variable est "perdu". Si la statique de la déclaration est utilisé, myvar est pas vu par le usevar procédure. Et "Public Static myvar comme integer" n'est pas acceptée par VBA.

Merci pour votre aide

Zeus

Une variable Globale est toujours Statique, en ce qu'elle conserve sa valeur, à moins que le code de l'exécution est interrompue. Si c'est pourquoi vous voulez une variable Statique, puis d'utiliser un Mondial.
Tim, merci pour l'édition de mon post et de votre réponse. Tout ce que je veux faire est d'initialiser plusieurs collections dans plusieurs procédures dans un module, puis l'utilisation de ces collections dans plusieurs procédures dans un autre module. Déclarant que le Public a aidé, mais j'ai maintenant l'erreur d'Exécution 91 variable objet ou variable bloc with non définie, et je ne sais pas pourquoi. Le code semble fonctionner ok jusqu'à ce que le code de l'exécution est interrompue ou le code a changé. Est-il de toute façon à la rendre plus robuste comme l'utilisation d'une instruction set?
J'ai eu de contourner le problème par l'initialisation des collections dans la procédure qui l'utilise à chaque fois qu'il a couru, mais cela semble être une mauvaise solution.
Si vous n'aimez pas votre solution, alors pourquoi ne pas poster une mise à jour et demander des suggestions?
Public Const myvar as integer = 999

OriginalL'auteur Zeus | 2014-02-16