Този урок ще покаже как да използвате функцията 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 програмиране | Code Generator работи за вас!
VBA CLng Конвертиране на низове в дълги
Функцията VBA CLng може да се използва за преобразуване на низове в дълги, ако знаците в низа имат значение като числа.
123456789101112131415161718 | Под CLngExample_4 ()Dim StrEx As StringStrEx = "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 As StringStrEx = "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 As StringStrEx = "2147483648"MsgBox CLng (StrEx)End Sub |
Уморени ли сте от търсене на примери за VBA код? Опитайте AutoMacro!
VBA CLng Регионални настройки
Функцията VBA CLng има различно поведение, преобразуващо низове със запетая или точка. Той използва регионалните настройки на операционната система за десетичен разделител и разделител на цифри.
12345678910111213141516 | Под CLngExample_7 ()Dim StrEx As StringStrEx = "1,9"MsgBox CLng (StrEx)„Ако регионалните настройки имат, като разделител за групиране, тогаваРезултатът е: 19„Ако регионалните настройки имат, като десетичен разделител, тогава„Резултатът е: 2 (2, защото 1.9 се закръглява)StrEx = "1.9"MsgBox CLng (StrEx)„Ако регионалните настройки имат. като разделител за групиране тогаваРезултатът е: 19„Ако регионалните настройки имат. като десетичен разделител тогава„Резултатът е: 2 (2, защото 1.9 се закръглява)End Sub |
VBA програмиране | Code Generator работи за вас!
VBA CLng Конвертиране на булеви в дълги
Функцията VBA CLng може да преобразува булевите променливи в дълги. Ако оценяваният израз е истина, получената дължина е -1, а ако оцененият израз е невярен, получената дължина е 0.
1234567891011121314 | Под CLngExample_8 ()Dim BoolEx като булевBoolEx = ВярноMsgBox CLng (BoolEx)'Резултатът е: -1MsgBox CLng (2 = 2)'Резултатът е: -1BoolEx = FalseMsgBox CLng (BoolEx)'Резултатът е: 0MsgBox CLng (1 = 2)'Резултатът е: 0End Sub |
VBA CLng Конвертиране на дати в дълги
Функцията VBA CLng може да преобразува променлива на дата в дълга. Върнатата стойност е вътрешният номер, използван от Excel за закръглено съхранение на дата. Ако този брой е извън очакваните дълги граници за VBA, получаваме грешка по време на изпълнение „6“: Препълване.
123456789101112 | Под 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 AM #MsgBox CLng (DateEx)Резултатът е: 12485End Sub |