应用Excel的visual basic

时间:2015-02-12 07:09:49

标签: excel vba

我在模块1中编写了代码。我得到了正确的输出值。但是,当我在模块2中调用它时,输出值为零。如果有人能帮助我,我将感激不尽。

第1单元:

Sub MuAndVuCalculations() 
BeamFlangeWidth = Sheets("MuVu").Range("D7") 
BeamFlangeThickness = Sheets("MuVu").Range("D8") 
BeamWebHeight = Sheets("MuVu").Range("D9") 
M3 = (0.5 * BeamFlangeWidth * BeamWebHeight * BeamWebHeight ^ 2) 
End Sub

模块2:

Sub Main() 
Call MuAndVuCalculations 
M = 5 Debug.Print M3 + M 
End Sub 

在模块2中,我在立即窗口中看不到M3,而M3 + 5的输出是5

1 个答案:

答案 0 :(得分:1)

您必须将M3声明为public才能从其他功能进行访问。 在module1中添加代码上方的第一行:

Public M3 As Long 'add this line

Sub MuAndVuCalculations()
BeamFlangeWidth = Sheets("Tabelle1").Range("D7")
BeamFlangeThickness = Sheets("Tabelle1").Range("D8")
BeamWebHeight = Sheets("Tabelle1").Range("D9")
M3 = (0.5 * BeamFlangeWidth * BeamWebHeight * BeamWebHeight ^ 2)
End Sub