Long — это тип данных в VBA. который используется для хранения числовых значений, мы знаем, что целое число также содержит числовые значения, но Long отличается от целых чисел, поскольку диапазон для хранения данных очень велик в случае длинного типа данных, также в длинном типе данных мы можем хранить десятичные значения Кроме того, это встроенный тип данных.
«Длинная,» как следует из названия, он должен иметь значение чего-то большого. «Длинный» — это числовой тип данных в VBA Excel.
Длинный тип данных в Excel VBA может содержать значения от 0 до 2, 147, 483, 647 для положительных чисел, а для отрицательных чисел он может содержать значения от 0 до -2, 147, 483, 648.
Тип данных VBA Long требует 4 байта памяти вашего компьютера. это двойной целое число переменная память типа данных (2 байта) и половина двойной переменная память типа данных (8 байт)
Я никогда не видел сценария, в котором я хотел бы полностью использовать ограничения типа данных VBA Long за свою короткую карьеру. Но я покажу вам несколько примеров, чтобы понять это лучше.
Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой Например: Источник: VBA Long (wallstreetmojo.com)
Примеры длинного типа данных VBA
Ниже приведены примеры типа данных Excel VBA Long.
Как только вы объявите тип данных переменной как «Длинный», вы можете присвоить значения от -2, 147, 483, 648 до 2, 147, 483, 648.
Например, объявите переменную как длинный тип данных.
Код:
Sub Long_Example1()
Dim k As LongEnd Sub
Давайте назначим значение как общее количество строк рабочего листа.
Чтобы получить общее посчитать строки в excelПодсчет строк в ExcelСуществует множество способов подсчета строк в Excel с использованием соответствующей формулы, независимо от того, являются ли они строками данных, пустыми строками или строками, содержащими числовые/текстовые значения. В зависимости от обстоятельств вы можете использовать функции COUNTA, COUNT, COUNTBLANK или COUNTIF.читать далее код рабочего листа «Ряды. Считать»
Код:
Sub Long_Example1()
Dim k As Longk = Rows.CountEnd Sub
Теперь покажите значение в окне сообщения.
Код:
Sub Long_Example1()
Dim k As Long
k = Rows.Count
MsgBox kEnd Sub
Запустите этот код и посмотрите, каково общее количество строк на листе.
Он говорит, что у нас есть более 1 миллиона строк на листе.
Теперь для лучшего понимания я изменю тип данных с LONG на INTEGER.
Код:
Sub Long_Example1()
Dim k As Integer
k = Rows.Count
MsgBox k
End Sub
Если я запустить код VBAЗапустите код VBAКод VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи.читать далее, я получу сообщение об ошибке «Переполнение».
Причина, по которой мы получили это ошибка в ВБАОшибка в VBAОбработка ошибок VBA относится к устранению различных ошибок, возникающих при работе с VBA. читать далее потому что тип данных «Целое число» может содержать только значения от -31768 до 32767. В данном случае «Ряды. Count» вернет число, превышающее предел «целочисленной» переменной.
Присвоение значения более 1 миллиона переменной, которая может содержать только 32767, вызывает здесь ошибку переполнения.
Длинный пример VBA №2
Найдите последнюю строку, используя длинную переменную
Поиск последней использованной строки рабочего листа является наиболее важным в кодировании. Чтобы найти последнюю использованную строку рабочего листа, необходимо объявить переменную. При объявлении переменной и назначении типа данных требуется здравый смысл.
Предположим, что у вас есть данные, заканчивающиеся на 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
Вы, должно быть, уже думаете о том, что, если мы хотим удерживать значение, превышающее предел длинной переменной. Для этого нам нужно использовать разные типы данных, т. е. либо VBA «String», либо «Variant».
Помните, в тот момент, когда он пересечет число 2147483647, мы получим ошибка переполнения в VBAОшибка переполнения в VBAОшибка переполнения VBA или «Ошибка времени выполнения 6: переполнение» возникает, когда пользователь вставляет значение, которое превышает емкость определенного типа данных переменной. Таким образом, это ошибка, возникающая в результате перегрузки данных за пределами желаемого ограничения типа данных переменной.читать далее с типом данных 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
Когда мы запустим приведенные выше коды, он покажет указанный номер.