У цьому підручнику буде продемонстровано, як за допомогою функції CInt VBA конвертувати вираз у цілочисельний тип даних.
Функція CInt
VBA CInt Перетворення виразу на ціле число
Функцію VBA CInt можна використовувати для перетворення виразів у цілочисельний тип даних всередині коду VBA. Отримане число округляється до цілого числа.
123456 | Sub CIntExample_1 ()MsgBox CInt (12.34) 'Результат: 12MsgBox CInt (12.345) 'Результат: 12MsgBox CInt (-124) 'Результат: -124MsgBox CInt (-12.34) 'Результат: -12End Sub |
Округлення VBA CInt
Функція VBA CInt округлятиме десяткову частину типу чи вираз, подібний до числа. Однак він не у всіх випадках округляється правильно. Коли десяткова частина дорівнює 0,5, функція VBA CInt повертає найближче парне ціле число.
12345678910111213141516 | Sub CIntExample_2 ()MsgBox CInt (0,34)Результат: 0MsgBox CInt (0,99)Результат: 1MsgBox CInt (-124,95)Результат: -125MsgBox CInt (1.5)Результат: 2MsgBox CInt (2.5)Результат: 2End Sub |
Ми можемо додати відносно невелике десяткове число до очікуваного десяткового значення, щоб змінити поведінку функції VBA Cint до очікуваної.
1234567891011 | Sub CIntExample_3 ()MsgBox CInt (2.5)Результат: 2MsgBox CInt (2,5 + 0,001)Результат: 3MsgBox CInt (14,5)Результат: 14MsgBox CInt (14,5 + 0,001)Результат: 15End Sub |
Програмування VBA | Генератор коду працює для вас!
VBA CInt Перетворення рядків у цілі числа
Функцію VBA CInt можна використовувати для перетворення рядків у цілі числа, якщо символи в рядку мають значення як числа.
123456789101112131415161718 | Sub CIntExample_4 ()Dim StrEx як рядокStrEx = "112"MsgBox CInt (StrEx)Результат: 112StrEx = "112,3"MsgBox CInt (StrEx)Результат: 112 -> 112,3 округляєтьсяStrEx = "11,2"MsgBox CInt (StrEx)'Результат: 112 ->, ігноруєтьсяStrEx = "$ 112"MsgBox CInt (StrEx)Результат: 112 -> $ ігноруєтьсяEnd Sub |
Помилка під час виконання VBA CInt 13 Невідповідність типу
Використання функції VBA Cint з рядками, що містять нечислові символи або символи, які не мають значення в числовому контексті, призведе до помилки під час виконання "13": Невідповідність типу.
1234567 | Sub CIntExample_5 ()'Код нижче призведе до повідомлення про помилку'CInt не може обробляти нечислові символиDim StrEx як рядокStrEx = "Ab13"MsgBox CInt (StrEx)End Sub |
Помилка під час виконання VBA CInt 6 Переповнення
Використання функції VBA Cint з рядками, що призводять до значення, меншого або більшого за очікуване ціле число, призведе до помилки під час виконання "6": Переповнення. Цілочисельний тип даних у excel має очікуване значення від -32768 до 32767.
1234567 | Sub CIntExample_6 ()'Код нижче призведе до повідомлення про помилку'Я не можу обробляти нечислові символиDim StrEx як рядокStrEx = "1234567"MsgBox CInt (StrEx)End Sub |
Втомилися від пошуку прикладів коду VBA? Спробуйте AutoMacro!
Регіональні налаштування VBA CInt
Функція VBA CInt має різну поведінку, перетворюючи рядки комою або крапкою. Він використовує регіональні налаштування операційної системи для десяткового роздільника та роздільника цифр.
12345678910111213141516 | Sub CIntExample_7 ()Dim StrEx як рядокStrEx = "1,9"MsgBox CInt (StrEx)"Якщо регіональні налаштування мають роздільник групування, тодіРезультат: 19"Якщо регіональні налаштування мають десятковий роздільник, тоРезультат: 2 (2, тому що 1,9 округляється)StrEx = "1,9"MsgBox CInt (StrEx)"Якщо є регіональні налаштування. як роздільник групиРезультат: 19"Якщо є регіональні налаштування. як десятковий роздільникРезультат: 2 (2, тому що 1,9 округляється)End Sub |
Програмування VBA | Генератор коду працює для вас!
VBA CInt Перетворення логічних чисел
Функція VBA Cint може перетворювати булеві змінні в цілі числа. Якщо оцінений вираз є істинним, отримане ціле число дорівнює -1, а якщо обчислюваний вираз -хибним, отримане ціле число дорівнює 0.
12345678910 | Sub CIntExample_8 ()Dim BoolEx як булевеBoolEx = ІстинаMsgBox CInt (BoolEx) 'Результат: -1MsgBox CInt (2 = 2) 'Результат: -1BoolEx = НеправдаMsgBox CInt (BoolEx) 'Результат: 0MsgBox CInt (1 = 2) 'Результат: 0End Sub |
Перетворення дат у цілі числа VBA CInt
Функція VBA Cint може перетворити змінну дати в ціле число. Повернене значення - це внутрішній номер, який Excel використовує для заокруглення сховища дат. Якщо це число виходить за межі очікуваних цілочисельних обмежень для VBA, ми отримуємо помилку під час виконання "6": Переповнення.
123456789 | Sub CIntExample_9 ()Затемнити DateEx як датуDateEx = #2/3/1940 #MsgBox CInt (DateEx)Результат: 14644DateEx = #8/7/1964 #MsgBox CInt (DateEx)Результат: 23596End Sub |