Руковање грешкама у програму Екцел ВБА - Лаки Екцел макрои

Преглед садржаја

У наставку ћемо погледати два програма у Екцел ВБА. Једноставно један програм игнорише грешке. Други програм наставља извршавање на наведеној линији када дође до грешке.

Ситуација:

Оба програма израчунавају квадратни корен бројева.

Квадратни корен 1

Додајте следеће редове кода командном дугмету 'Скуаре Роот 1'.

1. Прво, декларирамо два Ранге објекта. Објекте Ранге називамо рнг и ћелија.

Дим рнг Ас Ранге, целл Ас Ранге

2. Покрећемо објекат Ранге рнг са изабраним опсегом.

Сет рнг = Селецтион

3. Желимо да израчунамо квадратни корен сваке ћелије у случајно изабраном опсегу (овај опсег може бити било које величине). У Екцел ВБА за ово можете користити петљу За сваку следећу. Додајте следеће редове кода:

За сваку ћелију У рнг
Следећа ћелија

Напомена: овде су насумично изабрани рнг и ћелија, можете користити било која имена. Не заборавите да се у остатку кода позивате на та имена.

4. Додајте следећу линију кода у петљу.

На Грешка Настави даље

5. Затим израчунавамо квадратни корен вредности. У Екцел ВБА за ово можемо користити функцију Скр. Додајте следећу линију кода у петљу.

целл.Валуе = Скр (целл.Валуе)

6. Изађите из програма Висуал Басиц Едитор и тестирајте програм.

Резултат:

Закључак: Екцел ВБА је занемарио ћелије које садрже неважеће вредности као што су негативни бројеви и текст. Без употребе наредбе 'Он Еррор Ресуме Нект' добили бисте две грешке. Будите сигурни да користите изјаву „Он Еррор Ресуме Нект“ ако сте сигурни да је игнорисање грешака у реду.

Квадратни корен 2

Додајте следеће редове кода командном дугмету 'Скуаре Роот 2'.

1. Исти програм као Скуаре Роот 1, али замените 'Он Еррор Ресуме Нект' следећим:

Грешка при преласку на Неважећу вредност:

Напомена: ИнвалидВалуе је насумично одабран овде, можете користити било које име. Не заборавите да се у остатку кода позивате на ово име.

2. Изван петље За сваку следећу, прво додајте следећу линију кода:

Екит Суб

Без ове линије ће се извршити остатак кода (код грешке), чак и ако нема грешке!

3. Екцел ВБА наставља са извршавањем у реду који почиње са „ИнвалидВалуе:“ након што дође до грешке (не заборавите двотачку). Додајте следећу линију кода:

Погрешна вредност:

4. Наш код грешке за сада држимо једноставним. Приказујемо МсгБок са неким текстом и адресом ћелије у којој је дошло до грешке.

МсгБок "не може да израчуна квадратни корен у ћелији" & целл.Аддресс

5. Додајте следећи ред да бисте инструктовали Екцел ВБА да настави са извршавањем након извршавања кода грешке.

Настави даље

6. Изађите из програма Висуал Басиц Едитор и тестирајте програм.

Резултат:

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

wave wave wave wave wave