W tym samouczku zademonstrujemy, jak używać funkcji CLng VBA do konwersji wyrażenia na typ danych typu long integer.
Funkcja CLng
VBA CLng Konwertuj wyrażenie na długie
Funkcja VBA CLng może służyć do konwersji wyrażeń na długi typ danych w kodzie VBA.
123456 | Pod CLngPrzykład_1()MsgBox CLng(12.34) 'Wynik: 12MsgBox CLng(12.345) 'Wynik: 12MsgBox CLng(-124) 'Wynik to: -124MsgBox CLng(-12.34) 'Wynik to: -12Napis końcowy |
Zaokrąglanie VBA CLng
Funkcja VBA CLng zaokrągli część dziesiętną typu liczbowego lub wyrażenia podobnego do liczby. Jednak nie we wszystkich przypadkach zaokrągla się poprawnie. Gdy część dziesiętna wynosi 0,5, funkcja VBA CLng zwraca najbliższą parzystą liczbę całkowitą.
1234567891011 | Sub CLngPrzykład_2()MsgBox CLng(0.34) 'Wynik to: 0MsgBox CLng(0.99) 'Wynik to: 1MsgBox CLng(-124.95) 'Wynik to: -125MsgBox CLng(1.5) 'Wynik: 2MsgBox CLng(2.5) 'Wynik: 2Napis końcowy |
Możemy dodać stosunkowo małą liczbę dziesiętną do naszej oczekiwanej wartości dziesiętnej, aby zmienić zachowanie funkcji VBA CLng na oczekiwane.
1234567891011 | Pod CLngPrzykład_3()MsgBox CLng(2.5)„Wynik to: 2”MsgBox CLng (2,5 + 0,001)„Wynik to: 3”MsgBox CLng (14.5)„Wynik to: 14”MsgBox CLng (14,5 + 0,001)„Wynik to: 15”Napis końcowy |
Programowanie VBA | Generator kodu działa dla Ciebie!
VBA CLng Konwersja ciągów do długich
Funkcja VBA CLng może być użyta do konwersji ciągów na długie, jeśli znaki w ciągu mają znaczenie liczbowe.
123456789101112131415161718 | Pod CLngPrzykład_4()Dim StrEx jako ciągStrEx = "112"MsgBox CLng (StrEx)„Wynik to: 112”StrEx = "112.3"MsgBox CLng (StrEx)„Wynik: 112 112,3 jest zaokrąglony”StrEx = "11,2"MsgBox CLng (StrEx)'Wynik to: 112 , jest ignorowanyStrEx = "112 USD"MsgBox CLng (StrEx)'Wynik: 112 $ jest ignorowaneNapis końcowy |
Błąd wykonania VBA CLng 13 Niezgodność typu
Użycie funkcji VBA CLng z ciągami zawierającymi znaki nieliczbowe lub znaki, które nie mają znaczenia w kontekście numerycznym, spowoduje błąd wykonania „13”: Niezgodność typu.
1234567 | Sub CLngPrzykład_5()'Poniższy kod spowoduje wyświetlenie komunikatu BŁĄD'CLng nie obsługuje znaków nieliczbowychDim StrEx jako ciągStrEx = "Ab13"MsgBox CLng (StrEx)Napis końcowy |
Błąd wykonania VBA CLng 6 Przepełnienie
Użycie funkcji VBA CLng z ciągami, których wynikiem jest wartość mniejsza lub większa niż oczekiwana liczba całkowita, spowoduje błąd wykonania „6”: Przepełnienie. Typ danych Integer w programie Excel ma oczekiwaną wartość od -2 147 483 648 do 2 147 483 647.
1234567 | Pod CLngPrzykład_6()'Poniższy kod spowoduje wyświetlenie komunikatu BŁĄD'CLng nie obsługuje znaków nieliczbowychDim StrEx jako ciągSTREX = "2147483648"MsgBox CLng(StrEx)Napis końcowy |
Masz dość wyszukiwania przykładów kodu VBA? Wypróbuj Automakro!
Ustawienia regionalne VBA CLng
Funkcja VBA CLng zachowuje się inaczej, konwertując ciągi znaków z przecinkiem lub kropką. Używa ustawień regionalnych systemu operacyjnego dla separatora dziesiętnego i separatora cyfr.
12345678910111213141516 | Sub CLngPrzykład_7()Dim StrEx jako ciągWysiłek = "1,9"MsgBox CLng(StrEx)„Jeżeli ustawienia regionalne mają , jako separator grupowania to”„Wynik to: 19”„Jeżeli ustawienia regionalne mają jako separator dziesiętny, to”Wynik to: 2 (2, ponieważ 1.9 zostaje zaokrąglone)StrEx = "1,9"MsgBox CLng (StrEx)„Jeśli ustawienia regionalne mają . w takim razie jako separator grupujący„Wynik to: 19”„Jeśli ustawienia regionalne mają . jako separator dziesiętny wtedyWynik to: 2 (2, ponieważ 1.9 zostaje zaokrąglone)Napis końcowy |
Programowanie VBA | Generator kodu działa dla Ciebie!
VBA CLng Konwertowanie wartości logicznych na wartości długie
Funkcja VBA CLng może konwertować zmienne logiczne na długie. Jeśli oceniane wyrażenie jest prawdziwe, wynikowa długość wynosi -1, a jeśli oceniane wyrażenie jest fałszywe, wynikowa długość wynosi 0.
1234567891011121314 | Pod CLngPrzykład_8()Dim BoolEx jako BooleanBoolEx = PrawdaMsgBox CLng (BoolEx)„Wynik to: -1”MsgBox CLng(2 = 2)„Wynik to: -1”BoolEx = FałszMsgBox CLng (BoolEx)„Wynik to: 0”MsgBox CLng (1 = 2)„Wynik to: 0”Napis końcowy |
VBA CLng Konwertowanie dat na pozycje długie
Funkcja VBA CLng może konwertować zmienną daty na długą. Zwracana wartość to zaokrąglona liczba wewnętrzna używana przez program Excel do przechowywania dat. Jeśli ta liczba wykracza poza oczekiwane długie limity dla VBA, otrzymujemy błąd wykonania „6”: Przepełnienie.
123456789101112 | Pod CLngPrzykład_9()Dim DateEx As DateDataEx = #2/3/1940#MsgBox CLng (DateEx)„Wynik to: 14644”DataEx = #8/7/1964#MsgBox CLng (DateEx)„Wynik to: 23596”DataEx = #3/7/1934 11:32:04 AM#MsgBox CLng (DateEx)'Wynik to: 12485Napis końcowy |