Вхід або функція виходу VBA

У VBA ви можете вийти з підрозділу або функції за допомогою Вийти з підп або Функція виходу команди.

1 Вийти з підп
1 Функція виходу

Коли відбувається виконання коду Вийти з підп або Функція виходу, він вийде з під -функції або функції і продовжить будь -яке інше виконання коду.

Якщо ви хочете дізнатися, як вийти з Sub на помилку, натисніть це посилання: VBA On Error Exit Sub

Якщо ви хочете дізнатися, як завершити виконання всього коду, натисніть на це посилання: VBA End

Вийдіть з Sub у VBA

На прикладі ви побачите, що відбувається, коли ми використовуємо Вийти з підп команда в Sub. Ми створили Sub ExitSub, який має Вийти з підп команда всередині. ПідпCallExitSub називає цей суб. Ось код:

123456789101112131415161718 Приватний підрозділ ExitSub ()Dim i як ціле числоДля i = 1-10Якщо i = 5 ТодіВийти з підпMsgBox "Значення i" & iЗакінчити ЯкщоДалі iEnd SubПриватний додатковий виклик ExitSub ()Виклик ExitSubMsgBox "Вийти з субтитру"End Sub

В ExitSub, ми спочатку вводимо цикл For, якщо значення i менше 10:

123 Для i = 1-10Далі i

Після цього ми перевіряємо, чи значення i дорівнює 5, за допомогою команди If. Якщо значення 5, ми хочемо вийти з Sub і повернути вікно повідомлення зі значенням i:

1234 Якщо i = 5 ТодіВийти з підпMsgBox "Значення i" & iЗакінчити Якщо

Якщо умова не виконується, наступне твердження збільшує i на 1 і знову входить у цикл For:

1 Далі i

В CallExitSub, ми спочатку викликаємо Sub ExitSub:

1 Виклик ExitSub

Після цього ми повертаємо вікно повідомлення:

1 MsgBox "Вийти з субтитру"

Якщо ви запускаєте CallExitSub, він спочатку викликає ExitSub. Якщо ви виконаєте цей код у режимі налагодження, ви побачите, що він пройде цикл 5 разів. У 5го ітерації, значення змінної i стає 5, а код входить у тіло If. Тепер Sub ExitSub виходить і повертається до CallExitSub. Наступний рядок MsgBox «Вийти з субтитру»:

Як бачите, ExitSub виходить відразу після Вийти з підп команду, тому MsgBox “Значення i” та i ніколи не буде виконано.

Вихід із функції у VBA

Вихід з функції у VBA подібний до виходу з Sub, просто команда Функція виходу. У прикладі ми створили ExitFunc яка повертає ціле число. Підп CallExitFunction викликає цю функцію. Ось код:

1234567891011121314151617181920 Приватна функція ExitFunc () як ціле числоDim i як ціле числоДля i = 1-10Якщо i = 5 ТодіExitFunc = iФункція виходуЗакінчити ЯкщоДалі iФункція завершенняПриватний додатковий викликExitFunction ()Dim intFunc як ціле числоintFunc = ExitFunction ()MsgBox "Значення intFunc -" & intFuncEnd Sub

В ExitFunc, ми спочатку вводимо цикл For, якщо значення i менше 10:

123 Для i = 1-10Далі i

Після цього ми перевіряємо, чи значення i дорівнює 5, за допомогою команди If. Якщо значення 5, ми призначаємо значення i результату функції та виходимо з функції:

1234 Якщо i = 5 ТодіExitFunc = iФункція виходуЗакінчити Якщо

Якщо умова не виконується, наступне твердження збільшує i на 1 і знову входить у цикл For:

1 Далі i

В CallExitFunction, спочатку ми викликаємо функцію ExitFunc: Для цього ми маємо оголосити змінну intFunc введіть ціле число і призначте результат ExitFunc функція для нього:

123 Dim intFunc як ціле числоintFunc = ExitFunction ()

Після цього ми повертаємо поле повідомлення зі значенням intFunc:

1 MsgBox "Значення intFunc -" & intFunc

Якщо ви запускаєте CallExitFunction, він спочатку викликає функцію ExitFunc. Якщо ви виконаєте цей код у режимі налагодження, ви побачите, що він пройде цикл 5 разів. У 5го ітерації, значення змінної i стає 5, а код входить у тіло If. Тепер значення ExitFunc стає i, і функція виходить і повертається до CallExitFunction. Наступний рядок MsgBox “Значення intFunc дорівнює” & intFunc:

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave