VBA Long (Пример) - Ръководство стъпка по стъпка за дълъг тип данни в Excel VBA

Какво е дълъг тип данни във VBA?

Long е тип данни във VBA, който се използва за съхраняване на числовите стойности, знаем, че цяло число също съдържа числови стойности, но Long се различава от целите числа, тъй като обхватът за съхранение на данни е много голям в случай на дълъг тип данни също и в long тип данни можем да съхраняваме и десетични стойности, това е вграден тип данни.

„Дълго“, както казва името, трябва да съдържа стойността на нещо голямо. „Long“ е числов тип данни в VBA Excel.

Дългият тип данни в Excel VBA може да съдържа стойностите от 0 до 2, 147, 483, 647 за положителни числа, а за отрицателното число от 0 до -2, 147, 483, 648.

Типът данни VBA Long изисква 4 байта памет за съхранение на вашия компютър. Това е памет с променлива тип двойно цяло число (2 байта) и половината от паметта с променлива тип двойни данни (8 байта)

Никога не съм виждал сценарий, при който искам да използвам изцяло лимита на тип данни VBA Long през кратката си кариера. Но ще ви покажа някои от примерите, за да го разберете по-добре.

Примери за дълъг тип данни на VBA

По-долу са дадени примерите за тип данни на Excel VBA Long.

Дълъг пример на VBA # 1

Веднага след като декларирате типа данни на променливата като „Long“, можете да присвоите стойностите от -2, 147, 483, 648 до 2, 147, 483, 648.

Например декларирайте променливата като дълъг тип данни.

Код:

Sub Long_Example1 () Dim k As Long End Sub

Нека присвоим стойността като общ брой редове на работния лист.

За да получите общ брой редове в кода на работния лист на Excel е „Редове. Броя"

Код:

Sub Long_Example1 () Dim k As Long k = Редове. Count End Sub

Сега покажете стойността в полето за съобщение.

Код:

Sub Long_Example1 () Dim k As Long k = Rows.Count MsgBox k End Sub

Изпълнете този код и вижте какъв е общият брой на редовете в работния лист.

Там се казва, че имаме повече от 1 милион реда в работния лист.

Сега за по-добро разбиране ще променя типа данни от LONG на INTEGER.

Код:

Sub Long_Example1 () Dim k As Integer k = Rows.Count MsgBox k End Sub

Ако стартирам кода на VBA, ще получа съобщението за грешка като „Преливане“.

Причината, поради която получихме тази грешка във VBA, тъй като типът данни „Integer“ може да съдържа само стойностите от -31768 до 32767. В този случай „Редове. Count ”ще върне числото, което е повече от ограничението на променливата„ integer ”.

Присвояването на стойност от над 1 милион на променливата, която може да побере само 32767, причинява грешка при препълване тук.

Дълъг пример на VBA # 2

Намерете последния ред, като използвате дълга променлива

Намирането на последния използван ред на работния лист е най-важното от кодирането. За да се намери последният използван ред на работния лист, трябва да бъде декларирана променлива. Докато декларирането на променливата и присвояването на тип данни изисква известен разум.

Да предположим, че данните ви завършват на 25000 реда, както е показано на изображението по-долу.

Сега знам, че последният използван номер на ред е 25000. За това не ни е необходим типът данни „LONG“, тъй като типът данни „INTEGER“ може да ми даде последния ред.

Погледнете кода по-долу за вашата информация.

Код:

Sub Long_Example1 () Dim k As Integer k = Cells (Rows.Count, 1). End (xlUp). Ред MsgBox k End Sub

Ако стартирам този код, ще получа номера на последния използван ред на работния лист, върху който работя в момента.

Като програмист е важно да знаете размера на данните, които ще имате в бъдеще. Тъй като в момента данните може да завършват на 25000 ред, но ако данните се увеличат отвъд границата “Integer”, т.е. 32767, това причинява грешка при препълване.

Например ще увелича данните до 32768 редове.

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

Не забравяйте, че съм увеличил лимита само с 1 над лимита на стойността „Integer“, така че получих грешка при препълване.

Затова е важно да знаете размера на вашите данни, преди да присвоите тип данни на променливата. Винаги е по-добра опция да декларирате променливата като „LONG“, без да мислите за размера на вашите данни в бъдеще.

Алтернативи на Excel VBA Long Variable

Вече си мислите какво, ако искаме да задържим стойността повече от лимита на дълга променлива. За целта трябва да използваме различни типове данни, т.е. VBA „String“ или „Variant“.

Не забравяйте, че в момента, в който премине числото 2147483647, ще получим грешка при препълване във VBA с тип данни LONG. За да съхраним повече от този номер, трябва да използваме типа данни „String“ или „Variant“.

За низ

Код:

Sub Long_Example2 () Dim k As String k = 2147483648 MsgBox k End Sub

За Вариант

Код:

Sub Long_Example2 () Dim k As Variant k = 2147483648 MsgBox k End Sub

Когато стартираме горните кодове, той ще покаже споменатия номер.

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