所以我使用excel 2010,现在,我尝试使用计算一个子变量的值,并希望它用于多个潜艇,除了我可以&#39 ;弄清楚如何做到这一点。以下是我最基本使用的一个示例
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
我怎么能够使用/传递此值为" i"在/进入子宏?
答案 0 :(得分:2)
将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()
答案 1 :(得分:1)
插入新模块并将i
定义为:
Public i As Integer
然后你就可以随时使用它。
有关详细信息,请参阅:Scope of variables in Visual Basic for Applications
答案 2 :(得分:0)
我想使用Function而不是Sub。
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