2011-01-26 4 views
0

Voici mon code looping qui fonctionne très bienLes variables globales

i = 3 
Do 
Cells(i, 8) = 17012 
i = i + 1 
Loop Until i = 11 

Je voudrais que la « boucle jusqu'à i = 11 » pour en savoir plus comme « boucle jusqu'à i = f » ou une autre lettre variable n'est pas importante . Je veux que F représente la valeur du nombre de fois qu'un autre bouton est pressé. Le code ci-dessous représente le nombre de clics. Mais est sous un autre bouton cmd.

Static Counter As Integer 
Counter = Counter + 1 
cmdworkstationadd.Caption = Counter 

Donc, ma pensée est le code pour la sortie serait:

i = 3 
Do 
Cells(i, 8) = 17012 
i = i + 1 
Loop Until i = F 

mais f n'a pas de valeur si boucle arrête jamais parce que F est considérée comme 0. Comment définir la valeur du compteur à F pour que F a une valeur

Répondre

0

tout dépend de l'endroit où vous déclarez vos variables:

Option Explicit 
Public Counter As Integer 

Sub SetCounter() 
    Counter = 15 
End Sub 

Sub PrintCounter() 
    Debug.Print Counter 
End Sub 

Voir: http://msdn.microsoft.com/en-us/library/gg278427.aspx

+0

J'ai déclaré ma variable publique ou globale en haut du codage. qu'est-ce que l'option explicite fait exactement? Quand je l'utilise, mon code cesse de fonctionner avant que ça fonctionne. Cela fonctionne très bien maintenant sans vraiment. J'ai besoin de savoir comment affecter une valeur de lettre pour le compteur afin que je puisse l'utiliser dans une autre zone de mon code. – Slinkey

+0

Option Explicite signifie que vous devez déclarer vos variables. C'est une bonne pratique, et si votre code échoue avec Option Explicit, il peut y avoir des problèmes en attente. Si vous voulez définir une variable sur le nom d'une variable et la référencer, cela n'est pas possible dans VBA. – Fionnuala

0

Utilisez toujours

Option Explicit 

... Ainsi, la plupart des erreurs vont apparaître avant qu'ils ne se produisent réellement.