Как вызвать подвызов в VBA в Excel (4 примера)

  • Поделись Этим
Hugh West

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

Как вызвать подвызов в VBA в Excel (быстрый просмотр)

Примечание: Здесь а Sub под названием Sub2 вызывает Sub под названием Sub1 .

Скачать Практическое пособие

VBA Call Sub.xlsm

Скачайте этот сборник упражнений, чтобы выполнить задание, пока вы читаете эту статью.

4 способа вызова подвызова в VBA в Excel

Здесь у нас есть Sub в VBA под названием Sub1 .

Если вы запустите Sub1 вы получите сообщение "Sub1 is Run."

Сегодня наша цель - узнать, как мы можем вызвать этот Sub от другого Sub или Функция всеми возможными способами.

1. Вызов подзадачи без аргументов из другой подзадачи в VBA в Excel

Сначала мы вызовем Sub без какого-либо аргумента со стороны другого Sub в VBA .

Вот, Sub1 это Sub без аргументов.

Теперь мы вызовем Sub Sub1 от другого Sub под названием Sub2 .

Для вызова Sub Sub1 от другого Sub , вы должны использовать строку кода:

Sub1

Или

Вызов Sub1

Теперь, если вы запустить Sub2 , Sub1 будет вызван, а сообщение "Sub1 is Run." будет отображаться на дисплее.

2. Вызов подзадачи с аргументами из другой подзадачи в VBA в Excel

Теперь мы будем вызывать Sub с аргументами из другого Sub в VBA .

Здесь мы изменили Sub Sub1 таким образом, чтобы он содержал аргумент под названием Входное_значение и при запуске выводит этот аргумент.

Чтобы назвать это Sub от другого Sub ( Sub2 ), мы должны использовать строку кода:

Sub1(Input_Value)

Или

Вызов Sub1(Входное_значение)

Здесь мы использовали:

Вызов Sub1(10)

Теперь, когда мы запустим Sub2 , Sub1 будет вызван с входными данными 10 и 10 будет отображаться в Ящик для сообщений .

Похожие чтения:

  • Как вернуть значение в функции VBA (значения из массива и не из массива)
  • Использование функции LCase в VBA в Excel (С 4 примерами)
  • Как использовать функцию VBA SPLIT в Excel (5 примеров)
  • Использование функции TRIM в VBA в Excel (определение + код VBA)

3. вызов подфункции с/без аргументов из пользовательской функции в VBA в Excel

Вы также можете вызвать Sub из Функция, определяемая пользователем в VBA .

Sub без аргументов

Давайте назовем Sub без аргументов.

Здесь мы снова изменили Sub Sub1 на ту, что без аргументов.

Теперь мы создадим Функция под названием Функция1 и позвоните Sub1 от этой функции.

Чтобы вызвать Sub из функции, используемая строка кода остается прежней:

Sub1

Или

Вызов Sub1

Теперь, если вы вставите Функция1 в любой ячейке рабочего листа, Sub1 будет вызван и Ящик для сообщений будет отображаться "Sub1 is Run." .

Sub с аргументами

Вы также можете вызвать Sub с аргументами из Функция, определяемая пользователем в VBA в Excel .

Здесь мы изменили Sub1 снова к тому, у кого есть аргументы.

Теперь мы позвонили Sub1 с сайта Функция1 по строке кода:

Вызов Sub1(10)

Теперь, если мы вставим Функция1 в любой ячейке нашего рабочего листа, он покажет 10 в Ящик для сообщений .

4. Вызов закрытой подфункции из другой подфункции или функции в VBA в Excel

До сих пор мы называли Общественное подразделение от другого Sub или Функция На этот раз мы покажем, как можно вызвать Частное подразделение от другого Sub или Функция в VBA .

Вызов из под:

Вы можете вызвать только Частное подразделение от другого Sub если они находятся в одном и том же модуле вашего VBA окно.

Здесь мы изменили Sub1 к Частное подразделение добавив термин Частный в первой строке. И вызвал его из Sub2 который находится в том же модуле.

Теперь, если вы запустите Sub2 вы получите Ящик для сообщений отображение 10 .

Вызов из функции:

То же самое для функций. Чтобы вызвать Частное подразделение из Функция в VBA , the Sub и Функция должны находиться в одном и том же модуле.

Здесь мы вставили Частное подразделение Sub1 и Функция Функция1 в том же модуле.

Теперь, если мы вставим Функция1 в любой ячейке нашего рабочего листа, а Ящик для сообщений будет отображаться 10 .

Резюме

Вот краткое изложение всех пунктов, которые обсуждались сегодня:

  • Вы можете вызвать Sub от другого Sub или Функция, определяемая пользователем в VBA используя термин "Вызов" с именем Sub или просто поместить имя Sub .
  • Если Sub для вызова содержит аргумент вы должны вызвать Sub с любым значением этого аргумент .
  • Если Sub для вызова объявляется как Частный один, вы должны вызвать его из другого Sub или Функция одного и того же модуля.

Заключение

Используя эти методы, вы можете вызвать Sub от другого Sub или Функция в VBA в Excel. У вас есть вопросы? Не стесняйтесь, задавайте их нам.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.