Функция VBA CLng - преобразование выражения в длинное

Содержание

В этом руководстве будет показано, как использовать функцию CLng VBA для преобразования выражения в тип данных длинное целое число.

Функция CLng

VBA CLng преобразовать выражение в длинное

Функцию VBA CLng можно использовать для преобразования выражений в длинный тип данных внутри кода VBA.

123456 Sub CLngExample_1 ()MsgBox CLng (12.34) 'Результат: 12MsgBox CLng (12.345) 'Результат: 12MsgBox CLng (-124) 'Результат: -124MsgBox CLng (-12.34) 'Результат: -12Конец подписки

VBA CLng Округление

Функция VBA CLng округляет десятичную часть числового типа или числового выражения. Однако не во всех случаях округление выполняется правильно. Когда десятичная часть равна 0,5, функция VBA CLng возвращает ближайшее четное целое число.

1234567891011 Sub CLngExample_2 ()MsgBox CLng (0.34) 'Результат: 0MsgBox CLng (0.99) 'Результат: 1MsgBox CLng (-124.95) 'Результат: -125MsgBox CLng (1.5) 'Результат: 2MsgBox CLng (2.5) 'Результат: 2Конец подписки

Мы можем добавить относительно небольшое десятичное число к нашему ожидаемому десятичному значению, чтобы изменить поведение функции VBA CLng на ожидаемое.

1234567891011 Sub CLngExample_3 ()MsgBox CLng (2.5)Результат: 2MsgBox CLng (2,5 + 0,001)Результат: 3MsgBox CLng (14,5)Результат: 14MsgBox CLng (14,5 + 0,001)Результат: 15Конец подписки

Программирование на VBA | Генератор кода действительно работает для вас!

VBA CLng преобразование строк в длинные

Функцию VBA CLng можно использовать для преобразования строк в длинные, если символы в строке имеют значение как числа.

123456789101112131415161718 Sub CLngExample_4 ()Dim StrEx как строкаStrEx = "112"MsgBox CLng (StrEx)Результат: 112StrEx = "112,3"MsgBox CLng (StrEx)'Результат: 112 112,3 округленоStrEx = "11,2"MsgBox CLng (StrEx)'Результат: 112, игнорируетсяStrEx = "112 долларов"MsgBox CLng (StrEx)Результат: 112 $ игнорируетсяКонец подписки

Ошибка времени выполнения VBA CLng 13 Несоответствие типов

Использование функции VBA CLng со строками, содержащими нечисловые символы или символы, не имеющие значения в числовом контексте, приведет к ошибке времени выполнения ’13’: Несоответствие типов.

1234567 Sub CLngExample_5 ()'Приведенный ниже код приведет к сообщению об ОШИБКЕ'CLng не может обрабатывать нечисловые символыDim StrEx как строкаStrEx = "Ab13"MsgBox CLng (StrEx)Конец подписки

Ошибка времени выполнения VBA CLng 6, переполнение

Использование функции VBA CLng со строками, значение которых меньше или больше ожидаемого целого числа, приведет к ошибке времени выполнения ’6’: переполнение. Целочисленный тип данных в Excel имеет ожидаемое значение от -2 147 483 648 до 2 147 483 647.

1234567 Sub CLngExample_6 ()'Приведенный ниже код приведет к сообщению об ОШИБКЕ'CLng не может обрабатывать нечисловые символыDim StrEx как строкаStrEx = "2147483648"MsgBox CLng (StrEx)Конец подписки

Устали искать примеры кода VBA? Попробуйте AutoMacro!

Региональные настройки VBA CLng

Функция VBA CLng имеет другое поведение, преобразуя строки с запятой или точкой. Он использует региональные настройки операционной системы для десятичного разделителя и разделителя цифр.

12345678910111213141516 Sub CLngExample_7 ()Dim StrEx как строкаStrEx = "1,9"MsgBox CLng (StrEx)‘Если в региональных настройках в качестве разделителя группировки указаноРезультат: 19‘Если в региональных настройках в качестве десятичного разделителя указаноРезультат: 2 (2, потому что 1,9 округляется)StrEx = "1.9"MsgBox CLng (StrEx)‘Если в региональных настройках есть. как разделитель группировки, тогдаРезультат: 19‘Если в региональных настройках есть. как десятичный разделитель, тогдаРезультат: 2 (2, потому что 1,9 округляется)Конец подписки

Программирование на VBA | Генератор кода действительно работает для вас!

VBA CLng преобразование логических значений в длинные

Функция VBA CLng может преобразовывать логические переменные в длинные. Если вычисленное выражение истинно, результирующее длинное число равно -1, а если вычисленное выражение ложно, результирующее длинное число равно 0.

1234567891011121314 Sub CLngExample_8 ()Dim BoolEx как логическоеBoolEx = TrueMsgBox CLng (BoolEx)'Результат: -1MsgBox CLng (2 = 2)'Результат: -1BoolEx = ЛожьMsgBox CLng (BoolEx)'Результат: 0MsgBox CLng (1 = 2)'Результат: 0Конец подписки

VBA CLng преобразование дат в длинные

Функция VBA CLng может преобразовывать переменную даты в длинную. Возвращаемое значение - это внутреннее число, используемое Excel для округления даты хранения. Если это число выходит за пределы ожидаемых длинных ограничений для VBA, мы получаем ошибку времени выполнения '6': переполнение.

123456789101112 Sub CLngExample_9 ()Dim DateEx как датаDateEx = # 2/3/1940 #MsgBox CLng (DateEx)Результат: 14644DateEx = # 8/7/1964 #MsgBox CLng (DateEx)Результат: 23596DateEx = # 3/7/1934 11:32:04 #MsgBox CLng (DateEx)Результат: 12485Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave