Како користити изјаву ОнЕррор у Екцел 2016 ВБА

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

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

Наставак након грешке

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

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

Синтакса Шта ради
Резиме Извршење се наставља са наредбом која је изазвала грешку. Користите
ово ако ваш код за руковање грешкама исправи проблем и
у реду је да наставите.
Настави Следећи Извршење се наставља са наредбом одмах након
наредбе која је изазвала грешку. Ово у суштини игнорише
грешку.
Настави ознака Извршење се наставља на ознаци коју наведете.

Следећи пример користи наредбу Ресуме након што дође до грешке:

Суб ЕнтерСкуареРоот6()
  Дим Нум као варијанта
  Пригуши поруку као стринг
  Дим Анс Ас Интегер
Покушајте поново:
' Подесите руковање грешкама
  У случају грешке ГоТо БадЕнтри
' Затражите вредност
  Нум = ИнпутБок („Унесите вредност“)
  Ако је Нум = „“ Затим изађите из под
' Уметните квадратни корен
  АцтивеЦелл.Валуе = Скр(Бр)
  Екит Суб
БадЕнтри:
  Порука = Број грешке & “: “ & Грешка (Број грешке)
  Порука = Порука & вбНевЛине & вбНевЛине
  Порука = Порука & „Уверите се да је опсег изабран,“
  Порука = Порука & „лист није заштићен“,
  Порука = Порука & „и унесете ненегативну вредност.“
  Порука = Мсг & вбНевЛине & вбНевЛине & „Покушати поново?“
  Анс = МсгБок(Мсг, вбИесНо + вбЦритицал)
  Ако је Анс = вбИес, онда настави покушај поново
Енд Суб

Ова процедура има другу ознаку: ТриАгаин. Ако дође до грешке, извршавање се наставља на ознаци БадЕнтри, а код приказује поруку испод. Ако корисник одговори кликом на Да, покреће се изјава Ресуме, а извршење се враћа на ознаку ТриАгаин. Ако корисник кликне на Не, поступак се завршава.

Како користити изјаву ОнЕррор у Екцел 2016 ВБА

Ако дође до грешке, корисник може одлучити да ли ће покушати поново.

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

Наредба Ресуме брише услов грешке пре него што наставите. Да бисте то видели, покушајте да замените следећу изјаву за претпоследњу изјаву у претходном примеру:

Ако је Анс = вбИес Онда идите на ТриАгаин

Код не ради исправно ако користите ГоТо уместо Ресуме. Да бисте демонстрирали, унесите негативан број. Добићете обавештење о грешци. Кликните на Да да бисте покушали поново, а затим унесите други негативан број. Ова друга грешка није заробљена јер првобитни услов грешке није обрисан.

Укратко, руковање грешком

Да бисмо вам помогли да све ово решавање грешака буде у реду, ево кратког и прљавог резимеа. Блок кода за руковање грешкама има следеће карактеристике:

  • Почиње одмах након ознаке наведене у изјави о грешци.

  • Ваш макро би требало да га досегне само ако дође до грешке. То значи да морате користити израз као што је Екит Суб или Екит Фунцтион непосредно пре ознаке.

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

Знати када треба игнорисати грешке

У неким случајевима, сасвим је у реду игнорисати грешке. Тада долази у обзир изјава Он Еррор Ресуме Нект.

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

Суб СелецтионСкрт()
  Дим целл Ас Ранге
  Ако ТипеНаме(Избор) <> “Ранге” онда изађите из Суб
  За сваку ћелију у избору
    целл.Валуе = Скр(целл.Валуе)
  Следећа ћелија
Енд Суб

У овом случају, можда ћете желети да једноставно прескочите било коју ћелију која садржи вредност коју не можете да конвертујете у квадратни корен. Можете креирати све врсте могућности за проверу грешака користећи Иф-Тхен структуре, али можете осмислити боље (и једноставније) решење једноставним игнорисањем грешака које се јављају.

Следећа рутина то постиже коришћењем наредбе Он Еррор Ресуме Нект:

Суб СелецтионСкрт()
  Дим целл Ас Ранге
  Ако ТипеНаме(Избор) <> “Ранге” онда изађите из Суб
  У случају грешке Настави даље
  За сваку ћелију у избору
    целл.Валуе = Скр(целл.Валуе)
  Следећа ћелија
Енд Суб

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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