Шта је Цалл Суб у ВБА?
Можемо извршити све потпроцедуре истог модула у једној потпрограму и поступак њиховог извршавања у једној ВБА потпрограму под називом „Цалл Суб“.
У неким случајевима ћемо можда морати да напишемо огромну количину кода и њихово писање у један макро ствара пуно проблема током отклањања грешака у коду. У почетку сви теже томе да раде само због недостатка знања о методи „Цалл Суб“.
Није добра пракса чувања свих кодова у једном потпроцедуром. Морамо их разбити на више подпроцедура како бисмо поједноставили код.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba_.png.webp)
Како позвати потпрограм у програму Екцел ВБА?
Покретање екцел макронаредбе из једне процедуре у другу олакшава вам живот само на основу уштеде много времена током извођења, као и неко време отклањања грешака у коду у случају било какве грешке.
Шифра:
Суб Цоде_1 () опсег ("А1"). Валуе = "Хелло" Енд Суб Суб Цоде_2 () Ранге ("А1"). Интериор.Цолор = ргбАкуамарине Енд Суб
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__2.png.webp)
На горњој слици имамо два потпроцедура. Први је „Цоде_1“, а други је „Цоде_2“.
У првом поткодирању ВБА позива, управо сам написао код за убацивање вредности у ћелију А1 као „Здраво“. У другом потпроцедуром написао сам код за промену унутрашње боје ћелије А1 у „ргбАкуамарине“.
Сада ћу покренути први код, тј. „Цоде_1“.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba_.gif)
Сада ћу покренути други код, тј. „Цоде_2“.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__2.gif)
Овде сам извршио код времена.
Коришћењем ВБА „цалл Суб“, можемо извршити оба потпроцедура само у једном макроу. Само треба да додамо реч „Позови“, а иза ње име макронаредбе.
Погледајте доњу графичку слику.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__3.png.webp)
Код сам поменуо као „Позивни број_2“ само у првом потпроцедуром. Да бисмо сада разумели, покренимо код ред по ред. Притисните тастер Ф8. Истакнуће назив макронаредбе.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__4.png.webp)
Притисните тастер Ф8 још једном и он прелази на следећи ред.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__5.png.webp)
Жута линија показује означени код који ће се извршити ако још једном притиснемо тастер Ф8. Притисните тастер Ф8 сада.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__6.png.webp)
Као што видимо, у ћелију А1 је уметнуо реч „Здраво“. Сада је истакнута линија „Позивни број_2“.
„Цалл Цоде_2“ има задатак да промени унутрашњу боју ћелије А1, а реч „Цалл Цоде_2“ извршиће овај код само из стварног потпроцедура.
Али притисните тастер Ф8 да бисте видели чаролију.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__7.png.webp)
Скочило је на поменуто име потпроцедуре. Притисните тастер Ф8 још једном.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__8.png.webp)
Сада је истакнута стварна линија задатака, да бисте извршили овај притисак још једном притисните тастер Ф8.
![](https://cdn.know-base.net/2616475/vba_call_sub_step_by_step_guide_how_to_call_subroutine_in_excel_vba__9.png.webp)
Овако, можемо извршити много потпроцедура из једног потпроцедура тако што ћемо их назвати њиховим именом речју „Позови“.
Белешка:
- Можемо извршити макро другог подпроцедура без употребе речи „Позив“, већ само помињањем самог имена макронаредбе.
- Ово није најбоља пракса, јер ако подпроцес макронаредбе садржи заграде које желите да извршите, тада је реч „Позив“ обавезна.
- По мом личном мишљењу, увек користите реч „Позови“, јер је то само реч од 4 слова која омогућава другима да правилно разумеју код.