Глобальные переменные VBA

Некоторые функции определяются внутри функции и используются внутри функций, а некоторые переменные определяются вне функций и используются всеми функциями, и такие переменные используются как глобальные переменные, например, переменные, объявленные в подфункции, известные как глобальные переменные.

Глобальная переменная в Excel VBA

Объявление переменной кажется довольно простым, но чтобы иметь хорошие практические навыки, нам нужно понимать область действия этих переменных. Часто мы каждый раз объявляем переменные для каждого макроса внутри подпроцедуры. Но объявив одну переменную, мы можем использовать ее во всех макросах в том же модуле и других модулях текущего проекта VBA. В этой статье мы покажем вам, как объявлять глобальные переменные в Excel VBA.

Что такое глобальные переменные в Excel VBA?

Глобальные переменные VBA — это переменные, которые объявляются перед запуском любого макроса в модуле. Когда переменные объявляются с использованием «Public» или «Global», они становятся «Global Variable».

Переменные подпроцедуры нельзя использовать где угодно.

Обычно мы объявляем переменную внутри подпрограмма в VBAПодпрограмма в VBASUB в VBA — это процедура, которая содержит весь код, который автоматически дает оператор end sub, а средняя часть используется для кодирования. Оператор Sub может быть как общедоступным, так и частным, а имя подпроцедуры является обязательным в VBA.читать далее используя слово «Дим».

Глобальная переменная VBA 1

Посмотрите на изображение выше. Я объявил переменную «k» целочисленной внутри подпроцедуры Global_Example1.

Предположим, мы используем эту переменную внутри этой процедуры Sub в любой момент времени. Однако я не могу использовать эту переменную в другой подпроцедуре либо в том же модуль класса в VBAМодуль класса в VBAПользователи имеют возможность создавать свои собственные объекты VBA в модулях классов VBA. Объекты, созданные в этом модуле, можно использовать в любом проекте VBA.читать далее или другой модуль.

Глобальная переменная VBA 1.1

Как показано на изображении выше, переменная «k», объявленная в подпроцедуре Global_Example1, не может использоваться в подпроцедуре Global_Example2.

Точно так же переменная «j», объявленная в подпроцедуре Global_Example2, не может использоваться в подпроцедуре Global_Example1, даже если обе подпроцедуры находятся в одном модуле.

Как объявить глобальную переменную в VBA?

Ниже приведены способы объявления глобальной переменной в Excel VBA.

№ 1. Переменные модуля можно использовать в любой подпроцедуре в том же модуле.

Как мы видели, мы не можем использовать переменные подпроцедуры ни в одном из модулей. Чтобы сделать их доступными для всех процедур Sub в одном модуле, нам нужно объявить переменные в верхней части модуля.

Глобальная переменная VBA, пример 1

На изображении выше я объявил переменную только в начале модуля. Я выразил переменную «MyNumber» как целое число в Модуль 1.

Как только переменная объявлена ​​в верхней части модуля, мы можем использовать ту же переменную для всех других процедур Sub в том же модуле. В этом случае мы можем использовать переменную «MyNumber» для всех процедур Sub в Модуль 1.

Глобальная переменная VBA Пример 1-1

Проблема в том, что мы не можем использовать их ни в одном из других модулей. В этом случае переменная MyNumber, объявленная в Модуль 1, нельзя использовать в Модуль 2.

Пример VBA GlobalVariable 1-2.png

№ 2. Глобальные переменные можно использовать в любой подпроцедуре, а также в любом модуле.

Теперь мы увидели два вида объявления переменных и их область действия при использовании. Самое интересное, что мы можем объявить переменную в любом из модулей и использовать ее для всех процедур Sub во всех модулях одного и того же проекта VBA.

Чтобы сделать переменную доступной для всех процедур Sub во всех модулях, нам нужно объявить переменную в верхней части модуля, используя не слово «Dim», а имя «Public» или «Global».

Глобальная переменная VBA Пример 1-3

На изображении выше вы можете видеть, что я использовал слово «Общественный» объявить переменную вместо нашего ветеранского слова «Тусклый».

На приведенном выше снимке экрана я объявил переменную в Модуль 1. У меня есть еще два модуля с именем Модуль 2 и Модуль 3.

Поскольку я объявил переменную, используя слово «Общедоступный» в верхней части модуля, теперь я могу получить доступ к этим переменным в любой подпроцедуре в любом модуле той же рабочей книги.

Не только «общедоступный», но мы также можем использовать слово «глобальный» для объявления переменной.

Глобальная переменная VBA, пример 1-4

Global и Public — это два ключевых слова для объявления переменной и обеспечения их доступности в модулях VBA.

То, что нужно запомнить

  • Однажды Excel макросExcel макросМакрос в Excel представляет собой серию инструкций в виде кода, который помогает автоматизировать ручные задачи, тем самым экономя время. Excel выполняет эти инструкции шаг за шагом для заданных данных. Например, его можно использовать для автоматизации повторяющихся задач, таких как суммирование, форматирование ячеек, копирование информации и т. д., тем самым быстро заменяя повторяющиеся операции несколькими щелчками мыши.
    читать далее
    запускается со значением глобальной переменной, эта переменная одинакова во всех процедурах Sub.
  • Лучше поддерживать определенный модуль для объявления глобальных переменных в VBA и иметь все переменные в одном модуле.
  • Единственный способ, которым мы можем сбросить значение переменной, — это сбросить код макроса, нажав кнопку остановки.

УЗНАТЬ БОЛЬШЕ >>

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *