Увод у ВБА грешку претицања

У случају грешке током рада са ВБА сусрећемо се са многим типовима. Грешке се називају грешке извршавања када су наишле на грешку током извршавања кода. Такође, сваки код има одређени код који му је додељен у програмирању ВБА. Изврсно, једна таква грешка је ВБА грешка преливања. Код ове грешке је грешка времена покретања 6 што значи преливање у програмирању ВБА. О овој грешци сазнаћемо у овом чланку.

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

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

Кроз разне примере ћемо видети како ћемо у различитим типовима података можда наићи на ову грешку.

Како се користи грешка преливања ВБА у Екцелу?

Научићемо како се користи ВБА функција функције Оверфлов Еррор Еррор с неколико примера у екцелу.

Можете преузети овај предложак ВБА ОверФлов Еррор Екцел овде - ВБА Шаблон ОверФлов Еррор Екцел

Пример # 1 - Грешка претицања

За први пример користимо тип података Интегер. Покушајмо да препунимо вредности тако да их променљиве не могу да сачувају и видимо грешку у којој наилазимо.

Следите доле наведене кораке за употребу функције ВБА Оверфлов Еррор у Екцелу:

Корак 1: За почетак са ВБА прво што треба да урадимо је да омогућите картицу нашег програмера, а затим кликните на њу да отворите ВБ Едитор из опције Висуал Басиц као што је приказано на слици испод,

Корак 2: Кликните на њега и уметните модул на следећи начин, Једном када кликнемо на модул. Двапут кликните на њу и отвориће нам још један прозор у који ћемо написати свој код.

Корак 3 : Видећемо празан прозор на десној страни, декларисати подфункцију и тако покрећемо макро на следећи начин,

Шифра:

 Суб Узорак () Крај Суб 

Корак 4: Декларишите променљиву као цео број да би она могла да садржи целу вредност за нас,

Шифра:

 Под узорак () Дим А као цјеловити крај Суб 

Корак 5: Сада у променљивој Складиштите такву вредност која ће преплавити тип података као што следи,

Шифра:

 Суб Узорак () Дим А као цео број А = 4896 * 5000 Крајњи суб 

Корак 6: Сада прикажите вредност А помоћу функције мсгбок,

Шифра:

 Под узорак () Дим А као цео број А = 4896 * 5000 МсгБок А Крај Суб 

Корак 7: Покрените горњи код и погледајте који резултат ћемо добити,

Ову грешку смо примили јер је 4896 * 5000 прекорачење позитивног броја за цео број података који треба да задржи, а променљива А је преплављена овом вредношћу, па наилазимо на ову грешку.

Пример бр. 2 - Грешка претицања

Сада у овом примјеру пренесите БИТЕ врсту података. Знамо да бајтни подаци могу да садрже вредности од 0 до 255, али било које вредности осим тог распона ће нам дати грешку. Хајде да сазнамо.

Корак 1: Већ имамо уметнут модул, можемо радити на истом или креирати нови. Али хајде да радимо на истом модулу који смо уметнули. Двапут кликните на модул да бисте поново ушли у прозор кода,

2. корак: Објавите још једну подфункцију на следећи начин:

Шифра:

 Суб Сампле1 () Крај Суб 

Корак 3: Прогласите променљиву као тип података БИТЕ на следећи начин,

Шифра:

 Суб Сампле1 () Дим А као крај бајта Суб 

Корак 4: Сада у вредности променљиве А изнад 255,

Шифра:

 Суб Сампле1 () Дим А као бајт А = 266 Крајњи Суб 

Корак 5: Употријебите мсгбок функцију за приказ вриједности А,

Шифра:

 Суб Сампле1 () Дим А као бајт А = 266 МсгБок А Крај Пот 

Корак 6: Покренимо горњи код притиском на Ф5 и видимо резултат,

Корак 7: Сада покушајмо да променимо вредност од А до 244 и поново покренемо код да бисмо видели резултат,

Шифра:

 Суб Сампле1 () Дим А као бајт А = 244 МсгБок А Крај Пот 

Корак 8: Када поново покренемо код, видимо следећи резултат,

Када први пут покренемо кодну варијаблу А има вредности веће од распона који може имати БИТЕ тип података, али у другој инстанци, променљива А има податке у свом распону података тако да нисмо наишли на грешку препуњености.

Пример # 3 - Грешка претицања

Сада ћемо као пример употребити ЛОНГ тип података јер је то најчешће коришћени тип података међу програмерима.

Корак 1: Поново ћемо радити на истом модулу који смо раније уметнули. Треба само да двапут кликнемо на модул и ми смо у њему.

Корак 2: Прогласите потфункцију као што је приказано на слици.

Шифра:

 Суб Сампле2 () Крај Суб 

Корак 3: Прогласите променљиву као ЛОНГ тип података на следећи начин.

Шифра:

 Суб Сампле2 () Дим А као дуги крај Суб 

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

Шифра:

 Суб Сампле2 () Дим А као дуги А = 2000 * 365 Крај Суб 

Корак 5: Употријебите мсгбок функцију за приказ вриједности А на сљедећи начин.

Шифра:

 Суб Сампле2 () Дим А као дугачак А = 2000 * 365 МсгБок А Крај Суб 

Корак 6: Кликните на горње дугме Покрени и видите да наилазимо на грешку препуњености.

Корак 7: Сада постоји метода за превазилажење ове грешке у дугом типу података коришћењем ЦЛНГ функције на следећи начин.

Шифра:

 Суб Сампле2 () Дим А Ас Лонг А = ЦЛнг (2000) * 365 МсгБок А Крај Суб 

Корак 8: Ако поново покренемо код, можемо видети следећи резултат.

Е сад, шта је радила ЦЛНГ функција? Конвертовала је вредност у дуг цели број који променљива може да држи.

Како превладати грешку прелијевања у ВБА

Када у ВБА наиђемо на грешку претицања која значи да било која од наших променљивих, више не имамо неке вредности које не може да задржи. Морамо идентификовати променљиву и исправити је. Такође, имамо функцију ЦЛНГ за дуге типове података који нам могу помоћи. Али познавање наше врсте података заправо помаже.

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

Постоје неке ствари које морамо имати на уму о грешци у преливању у ВБА:

  • Грешка претицања је грешка у току рада.
  • Код грешке за грешку прелијевања је 6.
  • Да бисмо превазишли грешку претицања морамо знати који тип података може да садржи колико вредности.
  • ЦЛНГ функција помаже при погрешци прелијевања за дуге типове података.

Препоручени чланци

Ово је водич за грешку ВБА Оверфлов Еррор. Овдје смо расправљали о томе како користити функцију Екцел ВБА Оверфлов Еррор Фунцтион заједно с практичним примјерима и довнлоад-ом Екцел предлошка. Можете и да прођете кроз друге наше предложене чланке -

  1. Копирајте функцију лепљења у ВБА
  2. Подстринг Екцел функција
  3. ВБА претплата изван домета
  4. Екцел ИСНУМБЕР Формула

Категорија: