Як выклікаць Sub у VBA ў Excel (4 прыклады)

  • Падзяліцца Гэтым
Hugh West

У гэтым артыкуле я пакажу вам, як можна выклікаць 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. Ў вас ёсць якія-небудзь пытанні? Не саромейцеся пытацца ў нас.

Х'ю Уэст з'яўляецца вельмі дасведчаным трэнерам і аналітыкам Excel з больш чым 10-гадовым вопытам работы ў галіны. Ён мае ступень бакалаўра ў галіне бухгалтарскага ўліку і фінансаў і ступень магістра дзелавога адміністравання. Х'ю захапляецца навучаннем і распрацаваў унікальны падыход да навучання, які лёгка прытрымлівацца і зразумець. Яго экспертныя веды Excel дапамаглі тысячам студэнтаў і спецыялістаў па ўсім свеце палепшыць свае навыкі і атрымаць поспех у сваёй кар'еры. Праз свой блог Х'ю дзеліцца сваімі ведамі з усім светам, прапаноўваючы бясплатныя падручнікі па Excel і онлайн-трэнінгі, каб дапамагчы прыватным асобам і прадпрыемствам цалкам раскрыць свой патэнцыял.