ВБА на грешци ГоТо | Врсте изјава о грешкама у ВБА

Екцел ВБА о грешци ГоТо

Грешке су саставни део било ког језика кодирања и ВБА макронаредбе се не разликују од овог. По мом мишљењу, откривање зашто долази до грешке је 90% обављеног посла, а 10% лежи у томе како исправити ту грешку. У сваком кодном језику кодери користе свој начин руковања грешкама у свом кодирању, па тако и ми користимо код ВБА кодирања. Често требамо игнорисати грешку или често можда желимо да одемо на одређене ствари када се грешка догоди. „Он Еррор“ је изјава коју морамо да користимо у ВБА за руковање грешкама.

Ова изјава има три врсте изјава, а испод је листа.

  1. На грешку Иди на 0
  2. Погрешка Иди на [ознака]
  3. На грешци Настави даље

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

Како се користи ВБА за изјаве о грешкама?

Овај образац изјаве ВБА о грешци ГоТо можете преузети овде - Шаблон изјаве ВБА о грешци ГоТо

# 1 - На грешци Настави даље

Као што изјава сама каже „Он Еррор Ресуме Нект“ значи кад год се грешка догоди у коду, „ресуме“ следећи ред кода занемарујући код линије грешке. Сада погледајте доњи код.

У доњем коду споменуо сам имена радног листа и затражио да вредност унесем у прву ћелију као „Испитивање грешке“.

Шифра:

 Суб Он_Еррор_Ресуме_Нект () Радни листови ("Вс 1"). Изаберите опсег ("А1"). Валуе = "Испитивање грешке" Радни листови ("Вс 2"). Изаберите опсег ("А1"). Валуе = "Испитивање грешака" Радни листови ( „Вс 3"). Изаберите опсег („А1"). Вредност = „Испитивање грешке" Радни листови („Вс 4"). Изаберите опсег („А1"). Валуе = „Тестирање грешке“ Крај под 

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

  • Покренућу код и видећу шта ће се догодити.

  • Добили смо грешку „Субсцрипт Оут оф Ранге“, кликните на „Дебуг“ да бисте видели у ком смо реду добили грешку.

  • Дакле, у реду „Радни листови („ Вс 3 “). Селецт“ добили смо грешку, то је зато што у нашој радној свесци не постоји радни лист назван „Вс 3“, па је дошло до грешке.

У таквим случајевима можда ћемо желети да игноришемо грешку и наставимо са извршавањем кода у следећи ред, ово је место где наш обрађивач грешака „На грешци наставља се даље“ долази у слику.

  • Све што треба да урадимо је да додамо ред „Он Еррор Ресуме Нект“ на почетку макронаредбе.

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

# 2 - при грешци Иди на 0

Ово није руковатељ грешкама, већ покретач порука о грешци након што онемогућимо поруку о грешци помоћу израза „На грешци наставља се даље“.

Један који користите наредбу „Настави даље“ ВБА макрос почиње да игнорише било какву грешку до које долази и наставља са следећим редом кодова. Али не желимо да се ово стално догађа, јер неке грешке морамо намерно да игноришемо, а друго нам треба обавештење.

Ако било који одређени скуп кода баци грешку само у том блоку кода, треба да занемаримо грешку, остале делове кода не желимо да занемаримо.

  • Погледајте доњу слику како бисте користили изјаву „Он Еррор ГоТо 0“.

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

# 3 - Ознака грешке ГоТо

Видели смо како да игноришемо грешку и како да повратимо обавештење о грешци. Сада помоћу ове методе можемо да пређемо на одређену линију кода.

У овој методи „Ознака“ значи да овој етикети можемо дати било које име, а иста ознака такође мора бити наведена у траженом реду кода.

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

Извршимо сада линију по ред притиском на функцијски тастер Ф8.

Сада ће макро прочитати изјаву руковаоца грешкама, притиснути тастер Ф8 и извршити прва 2 кода радног листа.

Сада ће макро извршити трећи код радног листа који није у радној свесци, притисните тастер Ф8 и погледајте шта ће се догодити.

Будући да је макро наишао на грешку у доњем реду кода, прескочио је на ознаку обрађивача грешака "Порука о грешци" што је описано изјавом „Он Еррор ГоТо [Лабел]“.

Сада ће оквир за поруку приказати поруку као „Догодила се грешка и излазак из макронаредбе“.

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

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