VBA Глобальные объектные переменные - PullRequest
0 голосов
/ 10 сентября 2018

Мне нужна помощь с глобальными переменными.Код, который я имею ниже, должен быть доступен для нескольких модулей и формы пользователя.Мои попытки сделать их глобальными провалились.

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 голосов
/ 10 сентября 2018

Вот как это должно выглядеть:

enter image description here

0 голосов
/ 10 сентября 2018

Просто объявите их как публичные переменные, как показано ниже:

Public wb As Workbook
Public ws As Worksheet
...