VBA全局对象变量

时间:2018-09-10 16:27:14

标签: excel-vba

我需要一些有关全局变量的帮助。我下面的代码需要由多个模块和一个用户表单访问。我试图使它们成为全球性的尝试失败了。

Dim wb As Workbook
Dim ws As Worksheet
   Set wb = Workbooks.Open("Some.xlsm")
   Set ws = wb.Worksheets("Some Sheet")

我尝试制作一个模块来容纳它们,但是遇到运行时错误。如果我将此代码复制到使用它的每个函数中,但程序变得混乱,则我的程序可以正常工作。我想将其设置为只需更改两行即可影响整个文件。当我制作一个新模块时,它不喜欢Dim。

编辑:

    Public wb As Workbook
    Public ws As Worksheet

Public Sub modVariables()
        Set wb = Workbooks.Open("V:\My Stuff\Templates\Work Order Batch Creation Template\Sandbox\WorkOrderDatabase.xlsm")
        Set ws = wb.Worksheets("Description - Processes")
End Sub

2 个答案:

答案 0 :(得分:0)

只需将它们声明为公共变量,如下所示:

Public wb As Workbook
Public ws As Worksheet

答案 1 :(得分:0)

那应该是这样的:

enter image description here