Грешка при преливане на VBA - Как да ги коригирам Грешка при препълване на времето за изпълнение 6?

Грешка при преливане на Excel VBA

Грешките са неразделна част от всеки език за кодиране, но установяването на причината за появата на тази грешка е това, което ви кара да се отделяте от тълпата в интервютата. Грешките не са странни за VBA кодирането. Грешките не са умишлени, така че намирането на причината за грешката прави трудната задача. Във VBA имаме някои от предварително дефинираните грешки и знанието за тях ви кара да отстраните грешката много бързо. В тази статия ще ви покажем за RUN TIME ERROR 6: OverFlow. Следвайте пълната статия, за да знаете за грешката, причините за грешката при препълване на VBA и как да ги поправите.

Какво е грешка при време на изпълнение 6: Грешка при препълване във VBA?

Когато декларираме променливата, ние им присвояваме тип данни. Трябва да сме напълно наясно с плюсовете и минусите на всеки тип данни - това е мястото, където се появява грешка при изпълнение 6: OverFlow. Когато претоварим типа данни със стойността, която е повече от капацитета на типа данни, тогава ще получим тази грешка.

Например: Ако декларирате променливата като байт.

Затъмнено число като байт

Байтовият тип данни може да съдържа стойности от 0 до 255. Сега ще присвоя стойността като 240.

Число = 240

Това трябва да работи добре, защото стойността, която сме присвоили, е по-малка от границата на стойността на байта от 255. В момента, в който присвоим стойността, която е повече от 255, това води до грешката на Грешка при изпълнение 6: OverFlow.

Това е общият преглед на Грешка по време на изпълнение 6: OverFlow. Ще видим подробно някои от примерите.

Примери за грешка по време на изпълнение 6: Преливане във VBA

Нека да видим някои примери за грешка при преливане на VBA в Excel.

Пример 1: Грешка при препълване с тип байт данни

Както казах, важно е да знаем плюсовете и минусите на типа данни VBA, който ще използваме. Например погледнете кода по-долу.

Код:

Sub OverFlowError_Example1 () Dim Number As Byte Number = 256 MsgBox Number End Sub

За променливата „Number“ присвоих стойността 256. Когато стартирам този код, ще получим грешката по-долу.

Това е така, защото типът данни Byte може да съдържа стойности от 0 до 255. Така че причинява грешка. За да коригираме грешката, или трябва да променим типа на данните, или да намалим стойността, която сме присвоили на променливата „Number“

Пример 2: Грешка при препълване на VBA с цялостен тип данни

VBA цяло число е тип данни, който може да съдържа стойности от -32768 до 32767. Например, вижте кода по-долу.

Код:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub

Когато стартирам този код, ще получим стойността на променливата "MyValue" в полето за съобщение, т.е. 25656.

Сега ще пренасоча номера към променливата като „45654“.

Код:

Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub

Сега, ако се опитам да стартирам кода, това ще доведе до грешка, защото декларираният от нас тип данни може да съдържа максимум 32767 за положителни числа, а за отрицателни числа е -32768.

Пример 3: Грешка при преливане на VBA с дълъг тип данни

Дългият тип данни е най-често използваният тип данни в Excel VBA. Това може да съдържа стойности от -2,147,483,648 до 2,147,486,647. Всичко по-горе ще доведе до грешка.

Код:

Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub

Това ще доведе до грешка при препълване.

За да разрешим този проблем, трябва да използваме функцията CLNG във VBA. По-долу е даден пример за същото.

Код:

Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub

Това трябва да работи добре.

Това е прегледът на Грешка по време на изпълнение 6: OverFlow . За да разрешим тази грешка, трябва напълно да знаем типовете данни. Затова се върнете към основите, направете основите правилно, тогава всичко ще си дойде на мястото.

Можете да изтеглите този шаблон за грешка при преливане на VBA в Excel тук - шаблон за грешка при препълване на VBA в Excel

Интересни статии...