Руковаоци грешака за Екцел макрое

Обрађивачи грешака вам омогућавају да наведете шта се дешава када се наиђе на грешку док се ваш Екцел макро код покреће. Обрађивачи грешака су линије сличне следећим:

У случају грешке ГоТо МиЕррор

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

Постоје три типа изјава о грешци:

  • У случају грешке ГоТо СомеЛабел: код скаче на наведену ознаку.

  • Приликом грешке наставља се следеће: грешка се игнорише и код се наставља.

  • У случају грешке ГоТо 0: ВБА се враћа на нормално понашање провере грешака.

У случају грешке ГоТо СомеЛабел

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

На пример, у следећем малом делу кода кажете Екцел-у да подели вредност у ћелији А1 са вредношћу у ћелији А2, а затим поставите одговор у ћелију А3. Лако. Шта би могло поћи по злу?

Подмакро1()
Опсег("А3").Вредност = Опсег("А1").Вредност / Опсег("А2").Вредност
Енд Суб

Како се испоставило, две велике ствари могу поћи наопако. Ако ћелија А2 садржи 0, добијате грешку дељења са 0. Ако ћелија А2 садржи ненумеричку вредност, добићете грешку неподударања типа.

Да бисте избегли гадну поруку о грешци, можете рећи Екцел-у да у случају грешке желите да извршење кода пређе на ознаку под називом МиЕкит.

У следећем коду, иза ознаке МиЕкит следи порука кориснику која даје пријатељски савет уместо гадне поруке о грешци. Такође обратите пажњу на Екит Суб линију пре ознаке МиЕкит, која осигурава да ће код једноставно изаћи ако не дође до грешке:

Подмакро1()
У случају грешке ГоТо МиЕкит
Опсег("А3").Вредност = Опсег("А1").Вредност / Опсег("А2").Вредност
Екит Суб
МиЕкит:
МсгБок "Молимо користите важеће бројеве који нису нула"
Енд Суб

У случају грешке Настави даље

Понекад желите да Екцел игнорише грешку и једноставно настави са радом кода. У овим ситуацијама можете користити наредбу Он Еррор Ресуме Нект.

На пример, следећи део кода треба да избрише датотеку под називом ГхостФиле.еке из Ц:Темп директоријума. Након што се датотека обрише, леп оквир са поруком говори кориснику да је датотека нестала:

Подмакро1()
Убијте "Ц:ТемпГхостФиле.еке"
МсгБок "Датотека је избрисана."
Енд Суб

Код одлично функционише ако заиста постоји датотека за брисање. Али ако из неког разлога датотека под називом ГхостФиле.еке не постоји на Ц:Темп диску, појављује се грешка.

У овом случају, није вас брига ако датотека није тамо јер сте је ионако желели да избришете. Дакле, можете једноставно игнорисати грешку и наставити са кодом.

Коришћењем наредбе Он Еррор Ресуме Нект, код се креће својим током без обзира да ли циљна датотека постоји или не:

Подмакро1()
У случају грешке Настави даље
Убијте "Ц:ТемпГхостФиле.еке"
МсгБок "Датотека је избрисана."
Енд Суб

У случају грешке ГоТо 0

Када користите одређене изјаве о грешци, можда ће бити потребно ресетовати понашање ВБА провере грешака. Да бисте разумели шта ово значи, погледајте следећи пример.

Овде прво желите да избришете датотеку под називом ГхостФиле.еке из Ц:Темп директоријума. Да бисте избегли грешке које могу проистећи из чињенице да циљана датотека не постоји, користите наредбу Он Еррор Ресуме Нект. Након тога, покушавате да урадите сумњиву математику тако што ћете поделити 100/Мике:

Подмакро1()
У случају грешке Настави даље
Убијте "Ц:ТемпГхостФиле.еке"
Опсег("А3").Вредност = 100 / "Мајк"
Енд Суб

Покретање овог дела кода требало би да генерише грешку због нејасне математике, али не. Зашто? Зато што је последња инструкција коју сте дали коду била Он Еррор Ресуме Нект. Свака грешка која се појави након те линије се ефективно игнорише.

Да бисте решили овај проблем, можете користити наредбу Он Еррор ГоТо 0 да бисте наставили нормално понашање провере грешака:

Подмакро1()
У случају грешке Настави даље
Убијте "Ц:ТемпГхостФиле.еке"
У случају грешке ГоТо 0
Опсег("А3").Вредност = 100 / "Мајк"
Енд Суб

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


Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Ако сте користили оловку или маркер за цртање на ПоверПоинт слајдовима током презентације, можете да сачувате цртеже за следећу презентацију или да их избришете тако да ћете следећи пут када их покажете почети са чистим ПоверПоинт слајдовима. Пратите ова упутства да бисте избрисали цртеже оловком и маркером: Брисање линија један на […]

Садржај библиотеке стилова у СхареПоинт 2010

Садржај библиотеке стилова у СхареПоинт 2010

Библиотека стилова садржи ЦСС датотеке, датотеке Ектенсибле Стилесхеет Лангуаге (КССЛ) и слике које користе унапред дефинисане главне странице, изгледе страница и контроле у ​​СхареПоинт 2010. Да бисте лоцирали ЦСС датотеке у библиотеци стилова на локацији за објављивање: Изаберите Радње сајта→Прикажи Сав садржај сајта. Појављује се садржај сајта. Библиотека Стил налази се у […]

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

Немојте претрпати своју публику огромним бројевима. У Мицрософт Екцел-у можете побољшати читљивост својих контролних табли и извештаја тако што ћете форматирати своје бројеве тако да се појављују у хиљадама или милионима.

Како делити и пратити СхареПоинт локације

Како делити и пратити СхареПоинт локације

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

Како претворити датуме у јулијанске формате у Екцелу

Како претворити датуме у јулијанске формате у Екцелу

Јулијански датуми се често користе у производним окружењима као временска ознака и брза референца за број серије. Ова врста кодирања датума омогућава продавцима, потрошачима и услужним агентима да идентификују када је производ направљен, а тиме и старост производа. Јулијански датуми се такође користе у програмирању, војсци и астрономији. Различит […]

Како да направите приступну веб апликацију

Како да направите приступну веб апликацију

Можете да креирате веб апликацију у програму Аццесс 2016. Дакле, шта је уопште веб апликација? Па, веб значи да је онлајн, а апликација је само скраћеница за „апликацију“. Прилагођена веб апликација је апликација базе података на мрежи којој се приступа из облака помоћу претраживача. Ви правите и одржавате веб апликацију у верзији за десктоп […]

Трака за брзо покретање у СхареПоинт 2010

Трака за брзо покретање у СхареПоинт 2010

Већина страница у систему СхареПоинт 2010 приказује листу веза за навигацију на траци за брзо покретање дуж леве стране странице. Трака за брзо покретање приказује везе ка садржају истакнутог сајта као што су листе, библиотеке, сајтови и странице за објављивање. Трака за брзо покретање укључује две веома важне везе: Линк за сав садржај сајта: […]

Шта значе поруке о грешци решавача у Екцел-у?

Шта значе поруке о грешци решавача у Екцел-у?

За једноставне проблеме, Солвер у Екцел-у обично брзо проналази оптималне вредности променљиве Решавача за функцију циља. Али, у неким случајевима, Солвер има проблема да пронађе вредности променљиве Солвера које оптимизују функцију циља. У овим случајевима, Солвер обично приказује поруку или поруку о грешци која описује или расправља о проблему који […]

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Можете лако да уклоните израчуната поља и ставке из Екцел заокретне табеле. Да бисте уклонили израчунато поље, кликните на ћелију у изведеној табели. Затим кликните на команду Поља, ставке и скупови на картици Анализа и изаберите Израчунато поље из подменија који се појави. Када Екцел прикаже дијалог Уметање израчунатог поља, изаберите […]

Како означити у СхареПоинт-у

Како означити у СхареПоинт-у

Ознаке су кључне речи које додељујете садржају. Означавање страница за дељење са другима је обележавање на друштвеним мрежама, веома је популарно на вебу и лако је у СхареПоинт-у. Ако сте икада користили сајт као што је Делициоус, већ знате како функционише обележавање на друштвеним мрежама. Како све више људи додељује исте ознаке, ознаке постају начин на који […]