Този урок ще покаже как да използвате функцията CInt VBA за преобразуване на израз в целочисления тип данни.
CInt функция
VBA CInt Конвертира израза в цяло число
Функцията VBA CInt може да се използва за преобразуване на изрази в цялостен тип данни в кода на VBA. Полученото число се закръгля до цяло число.
123456 | Под 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 | Под 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 | Под 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 програмиране | Code Generator работи за вас!
VBA CInt Конвертиране на низове в цели числа
Функцията VBA CInt може да се използва за преобразуване на низове в цели числа, ако знаците в низа имат значение като числа.
123456789101112131415161718 | Под CIntExample_4 ()Dim StrEx As StringStrEx = "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 | Под CIntExample_5 ()„Кодът по -долу ще доведе до съобщение за ГРЕШКА'CInt не може да обработва нечислови знациDim StrEx As StringStrEx = "Ab13"MsgBox CInt (StrEx)End Sub |
Грешка по време на изпълнение на VBA CInt 6 Препълване
Използването на функция VBA Cint с низове, които водят до стойност, по-малка или по-голяма от очакваното цяло число, ще доведе до грешка при изпълнение „6“: Препълване. Целочисленият тип данни в Excel има очаквана стойност от -32768 до 32767.
1234567 | Под CIntExample_6 ()„Кодът по -долу ще доведе до съобщение за ГРЕШКА'CInt cant handle non numeric charactersDim StrEx As StringStrEx = "1234567"MsgBox CInt (StrEx)End Sub |
Уморени ли сте от търсене на примери за VBA код? Опитайте AutoMacro!
Регионални настройки на VBA CInt
Функцията VBA CInt има различно поведение, преобразуващо низове със запетая или точка. Той използва регионалните настройки на операционната система за десетичен разделител и разделител на цифри.
12345678910111213141516 | Под CIntExample_7 ()Dim StrEx As StringStrEx = "1,9"MsgBox CInt (StrEx)„Ако регионалните настройки имат, като разделител за групиране, тогаваРезултатът е: 19„Ако регионалните настройки имат, като десетичен разделител, тогава„Резултатът е: 2 (2, защото 1.9 се закръглява)StrEx = "1.9"MsgBox CInt (StrEx)„Ако регионалните настройки имат. като разделител за групиране тогаваРезултатът е: 19„Ако регионалните настройки имат. като десетичен разделител тогава„Резултатът е: 2 (2, защото 1.9 се закръглява)End Sub |
VBA програмиране | Code Generator работи за вас!
VBA CInt Конвертиране на булеви числа в цели числа
Функцията VBA Cint може да преобразува булевите променливи в цели числа. Ако оцененият израз е истина, полученото цяло число е -1 и ако оцененият израз е невярно, полученото цяло число е 0.
12345678910 | Под CIntExample_8 ()Dim BoolEx като булевBoolEx = ВярноMsgBox CInt (BoolEx) 'Резултатът е: -1MsgBox CInt (2 = 2) 'Резултатът е: -1BoolEx = FalseMsgBox CInt (BoolEx) 'Резултатът е: 0MsgBox CInt (1 = 2) 'Резултатът е: 0End Sub |
VBA CInt Преобразуване на дати в цели числа
Функцията VBA Cint може да преобразува променлива на дата в цяло число. Върнатата стойност е вътрешният номер, използван от Excel за закръглено съхранение на дата. Ако това число е извън очакваните целочислени граници за VBA, тогава получаваме грешка по време на изпълнение „6“: Препълване.
123456789 | Под CIntExample_9 ()Dim DateEx като датаDateEx = #2/3/1940 #MsgBox CInt (DateEx)Резултатът е: 14644DateEx = #8/7/1964 #MsgBox CInt (DateEx)Резултатът е: 23596End Sub |