VBA CLng

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ą kluczowe 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ą ważne, to zmienna typu danych, którą przypisujemy do tych zmiennych, jest jeszcze ważniejsza, ponieważ typ danych, który im przypisujemy, jest wynikiem końcowym, 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 in 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ść liczbowa, co spowoduje „Błąd wykonania 13: niezgodność typów”

Przykłady użycia funkcji CLng w VBA

Możesz pobrać ten szablon VBA CLNG Excel tutaj - Szablon VBA CLNG Excel

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 

Zmiennej typu string przypisaliśmy numer wartości, ale w cudzysłowach, więc potraktuje numer „2564589” jako ciąg znaków, a nie jako zmienną „Long”. Teraz w przypadku drugiej zmiennej LongResult użyliśmy funkcji Clng (LongNumber) do konwersji przechowywanej liczby w postaci ciągu na zmienną LONG.

W następnym oknie komunikatu wynik zostanie wyświetlony jako LONG liczba, która jest konwertowana 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, jest bardzo ważne, aby naprawić błąd. Po dokładnym przyjrzeniu się zmiennym 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 przekonwertować wartości ciągu lub wartości tekstowej na długi typ danych, więc podaje błąd jako „ Niezgodność typów ”.

Przykład nr 3

Kolejnym błędem, który otrzymujemy przy typie danych LONG, jest „Błąd przepełnienia w vba”, tj. Typ danych Long variable może zawierać wartości od -2 147 483 648 do 2 147 483 647. Zatem każda wartość powyżej tego 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”. Po uruchomieniu powyższego kodu wystąpi 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 długiego typu danych, aby uniknąć błędu przepełnienia.