2016-06-21 75 views
0

因此,我正在使用Excel 2010,现在,我试图使用计算一个变量的值在一个子中,并希望它在多个子中使用,除了我可以不知道该怎么做。这里是在多个子VBA中使用变量

Public Sub Calc() 
Dim i As Integer 
i = 10 - 5  
End Sub 


'Other sub that will use the value for i calculated in the Calc sub 

Sub Macro() 
y = i +5 
End Sub 

我怎么想,以能够使用我使用的最基本的形式是什么的一个例子/传为“我”在/该数值到子宏?

回答

1

插入新的模块,并定义为i

Public i As Integer 

然后你就可以,只要你想使用它。

如需进一步信息,请访问:Scope of variables in Visual Basic for Applications

+0

................ Nice Reference ................ –

+0

@ Gary的学生,谢谢!干杯,Maciej –

1

移动Dim上述潜艇:

Public i As Integer 

Public Sub Calc() 
    i = 10 - 5 
End Sub 

Sub Macro() 
    y = i + 5 
    MsgBox y 
End Sub 

Sub MAIN() 
    Call Calc 
    Call Macro 
End Sub 

尝试运行MAIN()

+0

这是做的伎俩,谢谢! – bakeson

0

我想用函数代替子的。

Sub Main() 
    Msgbox Macro(calc) 
end Sub 

Function Calc() as Integer 
    Dim i As Integer 
    i = 10 - 5  
    Calc = i 
End Function 

Function Macro(i as Integer) as Integer 
    Macro = i + 5 
End Function