ВБА излаз или подфункција

У ВБА -у можете изаћи из под -функције или функције помоћу Екит Суб или Излазна функција команде.

1 Екит Суб
1 Излазна функција

Када дође до извршења кода Екит Суб или Излазна функција, изаћи ће из Суб или Функције и наставити са било којим другим извршавањем кода.

Ако желите да научите како да изађете из Суб -а на грешци, кликните на ову везу: ВБА Он Еррор Екит Суб

Ако желите да научите како да окончате извршавање читавог кода, кликните на ову везу: ВБА Енд

Изађите из Суб у ВБА

На примеру ћете видети шта се дешава када користимо Екит Суб команду у подморници. Направили смо подморницу ЕкитСуб, који има Екит Суб команда изнутра. СубЦаллЕкитСуб зове овај Суб. Ево кода:

123456789101112131415161718 Приватни под ЕкитСуб ()Дим и Ас ИнтегерЗа и = 1 до 10Ако је и = 5 Тада јеЕкит СубМсгБок "Вредност и је" & иКрај АкоЗатим самЕнд СубПриватни помоћни позивЕкитСуб ()Позовите ЕкитСубМсгБок „Излаз из претплате“Енд Суб

У ЕкитСуб, прво улазимо у Фор Лооп ако је вредност и мања од 10:

123 За и = 1 до 10Затим сам

Након тога помоћу наредбе Иф проверавамо да ли је вредност и једнака 5. Ако је вредност 5, желимо да напустимо Суб и вратимо оквир за поруку са вредношћу и:

1234 Ако је и = 5 Тада јеЕкит СубМсгБок "Вредност и је" & иКрај Ако

Ако услов није испуњен, следећи исказ повећава и за 1 и поново улази у Фор петљу:

1 Затим сам

У ЦаллЕкитСуб, прво зовемо Суб ЕкитСуб:

1 Позовите ЕкитСуб

Након тога враћамо оквир за поруку:

1 МсгБок „Излаз из претплате“

Ако покренете ЦаллЕкитСуб, прво ће позвати ЕкитСуб. Ако извршите овај код у режиму отклањања грешака, видећете да ће проћи петљу 5 пута. У 5тх итерација, вредност променљиве и постаје 5 и код улази у Иф тело. Сада Суб ЕкитСуб излази и враћа се у ЦаллЕкитСуб. Следећи ред је МсгБок „Излаз из претплате“:

Као што видите, ЕкитСуб напушта се одмах након тога Екит Суб команда, па се МсгБок „Вредност и је“ & и никада неће бити извршена.

Изађите из функције у ВБА

Излазак из функције у ВБА је сличан изласку из Суб -а, само је наредба Излазна функција. У примеру смо креирали ЕкитФунц који враћа цео број. Суб ЦаллЕкитФунцтион позива ову функцију. Ево кода:

1234567891011121314151617181920 Приватна функција ЕкитФунц () Као цео бројДим и Ас ИнтегерЗа и = 1 до 10Ако је и = 5 Тада јеЕкитФунц = иИзлазна функцијаКрај АкоЗатим самЗавршна функцијаПриватни помоћни позивЕкитФунцтион ()Дим интФунц као цео бројинтФунц = ЕкитФунцтион ()МсгБок "Вредност интФунц је" & интФунцЕнд Суб

У ЕкитФунц, прво улазимо у Фор Лооп ако је вредност и мања од 10:

123 За и = 1 до 10Затим сам

Након тога помоћу наредбе Иф проверавамо да ли је вредност и једнака 5. Ако је вредност 5, додељујемо вредност и резултату функције и излазимо из функције:

1234 Ако је и = 5 Тада јеЕкитФунц = иИзлазна функцијаКрај Ако

Ако услов није испуњен, следећи исказ повећава и за 1 и поново улази у Фор петљу:

1 Затим сам

У ЦаллЕкитФунцтион, прво зовемо функцију ЕкитФунц: Да бисмо то урадили, морамо прогласити променљиву интФунц откуцајте цео број и доделите резултат ЕкитФунц функција за то:

123 Дим интФунц као цео бројинтФунц = ЕкитФунцтион ()

Након тога враћамо оквир за поруку са вредношћу интФунц:

1 МсгБок "Вредност интФунц је" & интФунц

Ако покренете ЦаллЕкитФунцтион, прво ће позвати функцију ЕкитФунц. Ако извршите овај код у режиму отклањања грешака, видећете да ће проћи петљу 5 пута. У 5тх итерација, вредност променљиве и постаје 5 и код улази у Иф тело. Сада је вредност ЕкитФунц постаје и и функција се напушта и враћа у ЦаллЕкитФунцтион. Следећи ред је МсгБок „Вредност интФунц -а је“ & интФунц:

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave