全局变量不适用于excel vba

时间:2018-01-27 11:25:09

标签: excel vba excel-vba

我试图在excel宏中使用全局变量我正在创建,但我无法让它们工作。我写了以下代码:

Public globalVar As Integer

Public Sub TestGlobal()
    SetGlobalVar

    GetGlobalVar
End Sub

Public Sub SetGlobalVar()
    globalVar = 5
End Sub

Public Sub GetGlobalVar()
    Debug.Print "globalVar = "
    Debug.Print globalVar
End Sub

我希望此代码显示globalVar = 5,但它显示globalVar =,当我将鼠标悬停在globalVar中的SetGlobalVar变量时,它会显示" 5",但是当我在GetGlobalVar上执行此操作时,它会显示"空"。

我做错了什么?不应该是相同的值,因为变量是全局的吗?

2 个答案:

答案 0 :(得分:2)

你的立即窗口可能不够高。

根据科尔曼的建议:

enter image description here

答案 1 :(得分:1)

当我运行它运行的代码时,只是为了检查你是否在模块顶部声明公共变量而不是在另一个子声明之后?