我试图在每次运行sub之前使用一个集合来设置等于0的变量。我有一堆指标作为单独的子程序,对于每个子程序,我将变量声明为long,然后将它们全部设置为等于0,然后让它们从他们需要的任何数据中提取。我希望每次都不必将它们设置为等于0,而是在开始时将它们设置为相等,或者不必将它们放在每个子程序中,但我是不清楚如何做到这一点。我尝试了这段代码,但我不知道它是否是远程正确的或者放在哪里:
Dim myVars As Collection
Set myVars = New Collection
Dim j As Variant
myVars.Add a
myVars.Add b
myVars.Add c
myVars.Add d
myVars.Add e
For j = 1 To myVars.Count
myVars(j) = 0
Next j
答案 0 :(得分:3)
如果您将变量声明为数字类型(例如Long
,Integer
,Byte
,Double
,Single
),那么它们就是自动分配值为0。
在任何情况下,你最好使用强类型变量,这样就可以避免使用集合或使变量在范围内变为全局变量。