Funkcja VBA CLng - Jak korzystać z funkcji CLng? (z przykładami)

Spisie treści

Funkcja Excel VBA CLng

„CLNG” oznacza typ danych „Konwertuj na długie”. Całkowity limit typu danych wynosi od -32768 do 32767, więc cokolwiek chcesz przechowywać w tych zmiennych, musimy użyć typu danych LONG w VBA.

Zmienne są niezbędne w każdym języku programowania, podobnie jak VBA. Bez użycia zmiennych pisanie długich kodów jest prawie niemożliwe. Jeśli zmienne są niezbędne, to zmienna typu danych, którą przypisujemy do tych zmiennych, jest jeszcze bardziej krytyczna, ponieważ typ danych, który im podajemy, jest wynikiem, który otrzymujemy.

Często możemy przypisać dane liczbowe jako „ciąg”, więc spowoduje to błąd podczas wykonywania obliczeń, więc używając funkcji konwertujących, możemy przekonwertować żądany typ danych. Powszechnie używanymi funkcjami konwertera są CLng, CInt, CDbl, CDate, CDec w VBA. W tym artykule przedstawimy funkcję konwersji typu danych liczb całkowitych „CLNG”.

Składnia

Poniżej znajduje się składnia funkcji CLNG.

  • Wyrażenie to nic innego jak wartość lub zmienna, którą chcemy przekonwertować na typ danych LONG.

Uwaga: Wartość, którą próbujemy przekonwertować, powinna być wartością liczbową inną niż wartość liczbową, co spowoduje „Błąd wykonania 13: niezgodność typów”.

Przykłady użycia funkcji CLng w VBA

Przykład 1

Teraz zobaczymy, jak przekonwertować przechowywaną wartość tekstową na typ danych „Long”.

Na przykład spójrz na poniższy kod.

Kod:

Sub CLNG_Example1 () Dim LongNumber As String Dim LongResult As Long LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Więc teraz dokładnie przyjrzyj się kodowi, aby zrozumieć, jak to działa.

Najpierw zadeklarowaliśmy dwie zmienne, odpowiednio, String i Long.

Kod:

Dim LongNumber As String Dim LongResult As Long

Do zmiennej łańcuchowej przypisaliśmy numer wartości, ale w cudzysłowach, więc potraktuje liczbę „2564589” jako ciąg znaków, a nie jako zmienną „Long”. Teraz dla drugiej zmiennej, LongResult, użyliśmy funkcji Clng (LongNumber) do konwersji przechowywanej liczby w wierszu na zmienną LONG.

W następnym oknie komunikatu wynik zostanie wyświetlony jako LONG liczba przekonwertowana z typu łańcuchowego na długi typ danych.

Wynik:

Przykład nr 2

Spójrz teraz na poniższy kod.

Kod:

Sub CLNG_Example2 () Dim LongNumber As String Dim LongResult As Long LongNumber = "Long Number" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Powinno to dać nam wynik jako „Niezgodność typów”.

Zrozumienie, dlaczego występuje błąd, ma zasadnicze znaczenie dla naprawienia błędu. Po dokładnym zbadaniu zmiennych pierwszej zmiennej LongNumber, przypisaliśmy wartość tekstową jako „Long Number”, a następnie użyliśmy funkcji Excel VBA CLNG, aby przekonwertować ją na typ danych LONG.

Powodem, dla którego otrzymaliśmy ten błąd, jest to, że typ danych LONG może akceptować tylko numeryczny typ danych, ponieważ podaliśmy wartość ciągu do zmiennej, nie może ona przekształcić wartości ciągu lub wartości tekstowej na długi typ danych. W związku z tym wyświetla błąd jako „Niezgodność typów”.

Przykład nr 3

Kolejnym błędem, który otrzymujemy w przypadku typu danych LONG, jest „Błąd przepełnienia w języku VBA”, tj. Typ danych zmiennych Long może zawierać wartości z zakresu -2 147 483 648 2 147 483 647. Zatem każda kwota powyżej tej spowoduje błąd przepełnienia.

Na przykład spójrz na poniższy kod.

Kod:

Sub CLNG_Example3 () Dim LongNumber As String Dim LongResult As Long LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Zmiennej „LongNumber” przypisałem numer „25645890003”, który przekracza limit typu danych „Long”. Kiedy uruchomimy powyższy kod, napotka on błąd „Przepełnienie” .

Tak więc, konwertując dowolny inny typ danych na typ danych Long, musimy pamiętać o wszystkich powyższych rzeczach.

Rzecz do zapamiętania tutaj

  • CLNG oznacza konwersję na długie.
  • Ta funkcja konwertuje inny typ danych na długi typ danych.
  • Musisz znać limit rozszerzonego typu danych, aby zapobiec błędowi przepełnienia.

Interesujące artykuły...