2017-10-10 133 views
0

我在VBA(宏)脚本中有一堆全局定义的变量。我在当前模块的过程中为这些值设置了值。有没有办法在另一个模块中的另一个过程中获取这些值。VBA值持久性

+0

如果它们是全局*定义的正如你所说,他们应该已经可以用于其他例程。你如何以及在哪里宣布他们? – Rory

回答

1

就变量声明而言。

在子 - 这是仅向副本身访问:

Sub LocalScope() 
    Dim stringVariable as string 

    stringVariable = "abc" 
    debug.print stringVariable 
End Sub 

点心在模块的顶部 - 这是在模块内的任何潜艇访问:

Dim stringVariable as string 

Sub ModuleScope() 
    stringVariable = "abc" 
End Sub 

Sub PrintString() 
    debug.print stringVariable 
End Sub 

公共位于模块的顶部 - 可在所有模块中进行搜索:

Public stringVariable as string 

Sub ModuleScope() 
    stringVariable = "abc" 
End Sub 

Sub PrintString() 
    debug.print stringVariable 
End Sub