2016-06-21 23 views
0

So verwende ich Excel 2010, und im Moment versuche ich, den Wert einer Variablen in einem Sub zu berechnen, und will es in mehreren Subs verwendet werden, außer ich kann Wie finde ich das? Hier ist ein Beispiel dafür, was ich in seiner einfachsten Form mitVerwenden Sie Variable in mehreren Subs 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 

Wie bin ich wohl zu verwenden, um der Lage sein,/pass diesen Wert für „i“ in/in das Unter Makro?

Antwort

1

Insert neues Modul und definieren i als:

Public i As Integer 

Dann werden Sie in der Lage sein, es zu benutzen, wann immer Sie wollen.

Weitere Informationen finden Sie unter: Scope of variables in Visual Basic for Applications

+0

................ Schöne Referenz ................ –

+0

@ Gary'sStudent, danke! Prost, Maciej –

1
die Dim oben die Subs bewegen

:

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 

Versuchen MAIN()

+0

Das hat den Trick, danke! – bakeson

0

laufen würde Ich mag Funktion verwenden anstelle von 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 
Verwandte Themen