Змест
У гэтым артыкуле я пакажу вам, як можна выклікаць Sub з іншай Sub або функцыі ў VBA у Excel . Вы навучыцеся выклікаць Sub з аргументамі або без іх, а таксама Public і Private Subs .
Як выклікаць Sub у VBA ў Excel (хуткі прагляд)
Заўвага: Тут Sub называецца Sub2 выклікае Sub з назвай Sub1 .
Спампаваць практычны сшытак
VBA Call Sub.xlsm
Спампуйце гэты дапаможнік, каб выканаць задачу падчас чытання гэтага артыкула.
4 спосабы выклікаць Sub у VBA ў Excel
Тут мы маем Sub у VBA пад назвай Sub1 .
Калі вы запусціце Sub1 , вы атрымаеце паведамленне “Sub1 is Run.”
Сёння наша мэта - даведацца, як мы можам выклікаць гэты Sub з іншага Sub або Function усімі магчымымі спосабамі.
1. Выклік Sub без аргументаў з іншага Sub ў VBA ў Excel
Спачатку мы будзем выклікаць Sub без аргументаў з іншага Sub у VBA .
Тут Sub1 - гэта Sub без аргументаў.
Цяпер мы будзем называць Sub Sub1 з іншага Sub , выкліканага Sub2 .
Каб выклікаць Sub Sub1 з іншага Sub , у вас ёсць выкарыстоўваць радок кода:
Sub1
Або
Call Sub1
Калі вы запусціце Sub2 ,Будзе выкліканы Sub1 і з'явіцца паведамленне “Sub1 is Run.” .
2. Выклік Sub з аргументамі з іншага Sub ў VBA ў Excel
Цяпер мы будзем выклікаць Sub з аргументамі з іншага Sub у VBA .
Тут мы змянілі Sub Sub1 такім чынам, што ён змяшчае аргумент з назвай Input_Value , і калі run, адлюстроўвае гэты аргумент.
Каб выклікаць гэты Sub з іншага Sub ( Sub2 ), мы павінны выкарыстоўваць радок кода:
Sub1(Input_Value)
Або
Call Sub1(Input_Value)
Тут мы выкарысталі:
Call Sub1(10)
Цяпер, калі мы запусцім Sub2 , Sub1 будзе выклікана з уводам 10 , а 10 будзе адлюстроўвацца ў Вокна паведамленняў .
Падобныя паказанні:
- Як вярнуць значэнне у функцыі VBA (як значэнні масіва, так і значэнні без масіва)
- Выкарыстанне функцыі LCase ў VBA ў Excel (з 4 прыкладамі)
- Як Выкарыстоўвайце функцыю VBA SPLIT у Excel (5 прыкладаў)
- Выкарыстоўвайце функцыю TRIM у VBA ў Excel (вызначэнне + код VBA)
3. Выклік Sub з/без аргументаў з вызначанай карыстальнікам функцыі ў VBA ў Excel
Вы таксама можаце выклікаць Sub з Вызначанай карыстальнікам функцыі у VBA .
⧭ Sub без аргументаў
Давайце спачатку выклічам Sub без аргументаў .
Вось мы зноў змяніліся Sub Sub1 без аргументаў.
Цяпер мы створым функцыю пад назвай Function1 і выклічце Sub1 з гэтай функцыі.
Каб выклікаць Sub з функцыі, радок кода будзе выкарыстоўвацца той самы :
Sub1
Або
Call Sub1
Цяпер, калі вы ўставіце Function1 у любую ячэйку вашага працоўнага аркуша, будзе выкліканы Sub1 і Вокна паведамленняў будзе адлюстроўвацца “Sub1 is Run.” .
⧭ Sub з аргументамі
Вы таксама можаце выклікаць Sub з аргументамі з Вызначанай карыстальнікам функцыі ў VBA у Excel .
Тут мы зноў змянілі Sub1 на адзін з аргументамі.
Цяпер мы выклікалі Sub1 з Функцыя1 па радку кода:
Call Sub1(10)
Цяпер, калі мы ўставім Function1 у любой ячэйцы нашага аркуша, ён будзе паказваць 10 у Поле паведамленняў .
4. Выклік прыватнай падпарадкаванай часткі з іншай падпарадкаванай часткі або функцыі ў VBA ў Excel
Дагэтуль мы выклікалі публічную падраздзяленне з іншай падпарадкаванай часткі або Функцыя . На гэты раз мы пакажам, як можна выклікаць Private Sub з іншай Sub або Function у VBA .
⧭ Выклік з Sub:
Вы можаце выклікаць Private Sub толькі з іншага Sub калі яны два знаходзяцца ў адным модулі вашага акна VBA .
Тутмы змянілі Sub1 на Private Sub , дадаўшы тэрмін Private у першы радок. І выклікаў гэта з Sub2 , які знаходзіцца ў тым самым модулі.
Цяпер, калі вы запусціце Sub2 , вы атрымаеце Вокна паведамленняў з адлюстраваннем 10 .
⧭ Выклік з функцыі:
Тое самае для функцый. Каб выклікаць Private Sub з Function у VBA , Sub і Function павінны быць у той самы модуль.
Тут мы ўставілі Private Sub Sub1 і Function Function1 у адзін і той жа модуль.
Цяпер, калі мы ўставім Функцыя1 у любую ячэйку нашага аркуша, Вокна паведамленняў будзе адлюстроўваць 10 .
Рэзюмэ
Вось кароткі змест усіх абмеркаваных сёння момантаў:
- Вы можаце патэлефанаваць у Sub з іншай Sub або функцыі, вызначанай карыстальнікам у VBA з выкарыстаннем тэрміна “Выклік” з назвай Sub , або проста змясціўшы назву Sub .
- Калі Sub , які трэба выклікаць, змяшчае аргумент , вы павінны выклікаць Sub з любым значэннем гэтага аргумента .
- Калі Sub , які трэба выклікаць, аб'яўлены як Прыватны адзін, вы павінны выклікаць яго з іншага Sub або Function таго ж модуля.
Выснова
Выкарыстоўваючы гэтыя метады, вы можаце выклікаць Sub з іншай Sub або Function у VBA у Excel. Ў вас ёсць якія-небудзь пытанні? Не саромейцеся пытацца ў нас.