在多个子VBA中使用variables

所以我使用Excel 2010,现在,我试图使用计算一个variables的值在一个子,并希望它被用于多个潜艇,除非我不知道如何做到这一点。 这里是我以最基本的forms使用的一个例子

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 

我怎么能够使用/传递这个值的“我”in /到子macros?

插入新模块并将i定义为:

 Public i As Integer 

那么你可以随时使用它。

有关更多信息,请参阅: Visual Basic for Applications中的variables范围

移动子上方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()

我想用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