ВБА о грешци Иди на 0 - Како се користи код грешке ГоТо 0 у програму Екцел ВБА?

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

Екцел ВБА о грешци Иди на 0

ВБА Он Еррор ГоТо 0 је изјава обрађивача грешака која се користи за онемогућавање омогућеног обрађивача грешака у процедури. Означава се као „Онемогућивач руковаоца грешкама“.

Руковање грешкама у било ком од програмских језика је главна класа коју сви кодери морају да разумеју. Програмски језик ВБА такође, а такође имамо и технике за руковање грешкама у овом програмском језику. „Он Еррор Ресуме Нект“ омогућава обрађивач грешака, а „Он Еррор ГоТо 0“ ће онемогућити омогућени обрађивач грешака.

И „Он Еррор Ресуме Нект“ и „Он Еррор ГоТо 0“ су парови које треба користити заједно за ефикасност кода. Да бисмо решили грешку, морамо започети са изјавом „На грешци наставља се даље“ и завршити овај руковалац грешкама. Морамо да користимо изјаву „Он Еррор ГоТо 0“.

Сваки линијски код написан између ових изјава занемарит ће било коју врсту грешке која се догодила у поступку.

Како се користи Изјава о грешци ГоТо 0?

На пример, погледајте доњи код.

Шифра:

Суб Он_ЕррорЕкампле1 () Ворксхеетс ("Схеет1"). Изаберите опсег ("А1"). Валуе = 100 Ворксхеетс ("Схеет2"). Селецт Ранге ("А1"). Валуе = 100 Енд Суб

Оно што чини горњи код је да ће прво одабрати радни лист под називом „Лист1“, а у ћелију А1 ће уметнути вредност 100.

Шифра:

Радни листови („Лист1“). Изаберите опсег („А1“). Вредност = 100

Тада ће одабрати радни лист под називом „Лист2“ и убацити исту вредност.

Шифра:

Радни листови („Лист2“). Изаберите опсег („А1“). Вредност = 100

Сада у радној свесци имам доње листове.

Не постоје листови под називом „Схеет1“ и „Схеет2“. Када покренемо код, наићи ће на грешку попут доле наведене.

Будући да не постоји лист са именом „Схеет1”, наишао је на грешку „Субсцрипт оут оф ранге”. Да бих решио ову грешку, додаћу изјаву руковаоца грешкама „На грешци наставља се даље“ на врху макронаредбе.

Шифра:

Суб Он_ЕррорЕкампле1 () На грешци Настави следеће радне листове („Лист1“). Изаберите опсег („А1"). Вредност = 100 радних листова („Лист2"). Изаберите опсег („А1"). Вредност = 100 Крај Суб

Сада покрените код и погледајте шта ће се догодити.

Неће давати поруке о грешци јер је омогућена изјава руковаоца грешкама Он Еррор Ресуме Нект .

Замислите сценарио у којем требамо занемарити грешку у случају недоступности радног листа „Схеет1“, али морамо обавестити ако не постоји радни лист под називом „Схеет2“.

Будући да смо на врх додали Он Еррор Ресуме Нект , почело је да обрађује грешку, али истовремено морамо да одредимо колико редова треба да игноришемо ову грешку.

У овом примеру, само треба да занемаримо грешку за први радни лист, али за други лист даље. До грешке треба да дође ако не постоји радни лист „Лист2“. Дакле, након првог кода радног листа додаје се линија за онемогућавање грешке Он Еррор ГоТо 0.

Шифра:

Суб Он_ЕррорЕкампле1 () На грешци Настави следеће радне листове ("Схеет1"). Изаберите опсег ("А1"). Вредност = 100 На грешку Идите на 0 радних листова ("Схеет2"). Изаберите опсег ("А1"). Валуе = 100 Енд Суб

Сада покрените код ред по ред да бисте видели утицај притиском на тастер Ф8.

Ако притиснете тастер Ф8 када извршавање кода скочи на следећи ред, извршиће се задатак активне линије. Сада је активна линија (жуто обојена линија) „Он Еррор Ресуме Нект“ (Руковање грешком даље) и руковалац грешкама ће бити омогућен.

Сада се јавља било каква грешка. Занемариваће се све док не изврши руковалац грешкама, онемогући код „ Он Еррор ГоТо 0 “.

У претходном покушају наишли смо на грешке, али притисните још једном тастер Ф8 и погледајте магију.

Без икаквих грешака, наставио је извршење кода иако не постоји радни лист „Схеет2“ за одабир. Сада поново притисните Ф8.

Будући да није било листа 1, он не може уметнути вредност у ћелију А1 као 500, али оно што ради је да ће уметнути вредност 500 у ћелију А1 било који радни лист који је активан. Мој активни лист када извршавам код био је „Схеет3“, тако да је вредност 100 уметнута у ћелију А1.

Сада је активна линија кода „ Он Еррор ГоТо 0 “ притиском на тастер Ф8. Овај линијски задатак ће се извршити.

Будући да се извршава „Он Еррор ГоТо 0“, зауставио је процес руковања грешкама и поново почео да приказује грешке ако се догоди. Притисните тастер Ф8 и погледајте грешку.

У претходном случају без Он Еррор ГоТо 0, игнорисао је и ову грешку, али пошто смо додали онемогућивач руковаоца грешкама, поново је почео да приказује грешку.

Ствари које треба овде запамтити

  • И у случају грешке Настави даље и у случају грешке ГоТо 0 мора се користити као „ Омогућивач руковаоца грешкама “ и „ Онемогућивач руковаоца грешкама “.
  • Било која линија кодова између ове две изјаве наиђе на грешку и биће занемарена.
  • Ако постоји изјава Он Еррор ГоТо 0, тада ће након изласка руковаоца грешком потпроцедура бити онемогућен.

Занимљиви Чланци...