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

Екцел ВБА о грешци Иди на 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"). 

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

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

Сада се деси свака грешка, занемариваће се док не изврши руковалац грешкама, онемогућава код “На грешку ГоТо 0" изјава.

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

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

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

Сада је активна линија кода „На грешку ГоТо 0”, Притиском на тастер Ф8 извршиће се овај редни задатак.

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

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

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

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