У цьому посібнику буде показано, як використовувати функцію CLng VBA для перетворення виразу на довгий цілочисельний тип даних.
Функція CLng
VBA CLng Перетворення виразів у довгі
Функцію VBA CLng можна використовувати для перетворення виразів у довгий тип даних всередині коду VBA.
123456 | Підрозділ CLngExample_1 ()MsgBox CLng (12.34) 'Результат: 12MsgBox CLng (12.345) 'Результат: 12MsgBox CLng (-124) 'Результат: -124MsgBox CLng (-12,34) 'Результат: -12End Sub |
Округлення VBA CLng
Функція VBA CLng округлятиме десяткову частину типу чи вираз, подібний до числа. Однак він не у всіх випадках округляється правильно. Коли десяткова частина дорівнює 0,5, функція VBA CLng повертає найближче парне ціле число.
1234567891011 | Підрозділ CLngExample_2 ()MsgBox CLng (0,34) 'Результат: 0MsgBox CLng (0,99) 'Результат: 1MsgBox CLng (-124.95) 'Результат: -125MsgBox CLng (1.5) 'Результат: 2MsgBox CLng (2.5) 'Результат: 2End Sub |
Ми можемо додати відносно невелике десяткове число до очікуваного десяткового значення, щоб змінити поведінку функції VBA CLng до очікуваної.
1234567891011 | Підрозділ CLngExample_3 ()MsgBox CLng (2,5)Результат: 2MsgBox CLng (2,5 + 0,001)Результат: 3MsgBox CLng (14,5)Результат: 14MsgBox CLng (14,5 + 0,001)Результат: 15End Sub |
Програмування VBA | Генератор коду працює для вас!
VBA CLng Перетворення рядків у довгі
Функцію VBA CLng можна використовувати для перетворення рядків у довгі, якщо символи в рядку мають значення як числа.
123456789101112131415161718 | Підрозділ 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 $ ігноруєтьсяEnd Sub |
Помилка під час виконання VBA CLng 13 Невідповідність типу
Використання функції VBA CLng з рядками, що містять нечислові символи або символи, що не мають значення в числовому контексті, призведе до помилки під час виконання "13": Невідповідність типу.
1234567 | Підрозділ CLngExample_5 ()'Код нижче призведе до повідомлення про помилку'CLng не може обробляти нечислові символиDim StrEx як рядокStrEx = "Ab13"MsgBox CLng (StrEx)End Sub |
Помилка під час виконання VBA CLng 6 Переповнення
Використання функції VBA CLng з рядками, що призводять до значення, меншого або більшого за очікуване ціле число, призведе до помилки під час виконання "6": Переповнення. Цілочисельний тип даних у excel має очікуване значення від 2 147 483 648 до 2 147 483 647.
1234567 | Підрозділ CLngExample_6 ()'Код нижче призведе до повідомлення про помилку'CLng не може обробляти нечислові символиDim StrEx як рядокStrEx = "2147483648"MsgBox CLng (StrEx)End Sub |
Втомилися від пошуку прикладів коду VBA? Спробуйте AutoMacro!
Регіональні налаштування VBA CLng
Функція VBA CLng має різну поведінку, перетворюючи рядки з комою або крапкою. Він використовує регіональні налаштування операційної системи для десяткового роздільника та роздільника цифр.
12345678910111213141516 | Підрозділ 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 округляється)End Sub |
Програмування VBA | Генератор коду працює для вас!
VBA CLng Перетворення булевих в довгі
Функція VBA CLng може перетворювати булеві змінні в long. Якщо обчислюваний вираз є істинним, результуючий довжина дорівнює -1, а якщо оцінений вираз -хибним, отриманий довгий дорівнює 0.
1234567891011121314 | Підрозділ CLngExample_8 ()Dim BoolEx як булевеBoolEx = ІстинаMsgBox CLng (BoolEx)Результат: -1MsgBox CLng (2 = 2)Результат: -1BoolEx = НеправдаMsgBox CLng (BoolEx)Результат: 0MsgBox CLng (1 = 2)Результат: 0End Sub |
VBA CLng Перетворення дат у довгі
Функція VBA CLng може перетворити змінну дати в довгу. Повернене значення - це внутрішній номер, який Excel використовує для заокруглення сховища дат. Якщо це число виходить за межі очікуваних довгих меж для VBA, ми отримуємо помилку під час виконання "6": Переповнення.
123456789101112 | Підрозділ CLngExample_9 ()Затемнити DateEx як датуDateEx = #2/3/1940 #MsgBox CLng (DateEx)Результат: 14644DateEx = #8/7/1964 #MsgBox CLng (DateEx)Результат: 23596DateEx = #3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)Результат: 12485End Sub |