Объявления не являются исполняемым кодом, будь то глобальный, модульный или локально ограниченный (операторы Dim
не являются исполняемыми; Dim...As New
также не являются исполняемыми). Так что, да, они объявлены «мгновенно». Если модуль загружен (т. Е. Если какой-либо из его членов используется в любом пути выполнения ниже точки входа в ваш код), то все, что он определяет, определено.
Обратите внимание, ключевое слово Global
устарело / бесполезно : переменная Global
ничем не отличается от любой другой переменной Public
.
Как упоминалось в комментариях @BigBen, объект global-scope ws As Worksheet
очень похож на тип глобального переменная состояния, которую вы хотели бы устранить в рефакторинге проекта.