VBA Long (пример) | Пошаговое руководство по длинному типу данных в Excel VBA

Что такое длинный тип данных в VBA?

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

«Длинный», как следует из названия, должен содержать ценность чего-то большого. «Длинный» - это числовой тип данных в VBA Excel.

Тип данных long в Excel VBA может содержать значения от 0 до 2, 147, 483, 647 для положительных чисел, а для отрицательного числа он может содержать значения от 0 до -2, 147, 483, 648.

Тип данных VBA Long требует 4 байта памяти вашего компьютера, это память переменных типа данных с двойным целым числом (2 байта) и половина памяти переменных с двойным типом данных (8 байтов)

Я никогда не видел сценария, в котором я хотел бы полностью использовать ограничение типа данных VBA Long за свою короткую карьеру. Но я покажу вам несколько примеров, чтобы лучше понять это.

Примеры длинного типа данных VBA

Ниже приведены примеры типа данных Excel VBA Long.

Вы можете скачать этот шаблон Excel для длинных данных VBA здесь - Шаблон Excel для длинных данных VBA

VBA Long, пример №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 = Rows.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, состоит в том, что тип данных «Целое число» может содержать только значения от -31768 до 32767. В данном случае «Ряды. Count »вернет число, которое превышает предел« целочисленной »переменной.

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

Пример 2 на VBA Long

Найдите последнюю строку с помощью длинной переменной

Поиск последней использованной строки рабочего листа является наиболее важным при кодировании. Чтобы найти последнюю использованную строку рабочего листа, необходимо объявить переменную. Хотя для объявления переменной и присвоения типа данных требуется некоторый здравый смысл.

Предположим, у вас есть данные, заканчивающиеся на 25000 строках, как показано на изображении ниже.

Теперь я знаю, что номер последней использованной строки - 25000, для этого нам не нужен тип данных «LONG», поскольку тип данных «INTEGER» может дать мне последнюю строку.

Взгляните на приведенный ниже код для получения информации.

Код:

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

Если я запустил этот код, я получу номер последней использованной строки рабочего листа, над которым я работаю в данный момент.

Программисту важно знать, какой размер данных у вас будет в будущем. Поскольку в настоящий момент данные могут заканчиваться на 25000-й строке, но если данные увеличиваются за пределы «целочисленного» предела, то есть 32767, это вызывает ошибку переполнения.

Например, увеличу данные до 32768 строк.

Теперь, если я снова запустил тот же код, я не получу значение, а получу ошибку, как показано ниже.

Помните, что я увеличил предел всего на 1 сверх предела значения «Целое число», поэтому я получил ошибку переполнения.

Поэтому важно знать размер ваших данных, прежде чем назначать тип данных переменной. Всегда лучше объявить переменную как «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 

Когда мы запускаем вышеуказанные коды, он покажет упомянутый номер.