Оглавление
В этой статье я покажу вам, как вы можете вызвать 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. У вас есть вопросы? Не стесняйтесь, задавайте их нам.