VBA CLng функция - Как да използвам CLng функцията? (с примери)

Съдържание

Функция Excel VBA CLng

„CLNG“ означава тип „Преобразуване в дълъг“. Целочисленото ограничение на типа данни е между -32768 до 32767, така че всичко, което искате да съхраните в тези променливи, тогава трябва да използваме LONG тип данни във VBA.

Променливите са от съществено значение за всеки език за програмиране и VBA също не се различава. Без използване на променливи е почти невъзможно да се напишат дълги кодове. Ако променливите са от съществено значение, тогава променливата на типа данни, която присвояваме на тези променливи, е още по-критична, защото типът данни, който им даваме, е резултатът, който получаваме.

Често пъти можем да присвоим числовите данни като „String“, така че това ще доведе до грешка при извършване на изчисления, така че като използваме функции за преобразуване, можем да преобразуваме типа данни, който искаме. Често използваните функции на конвертора са CLng, CInt, CDbl, CDate, CDec във VBA. В тази статия ще ви покажем за функцията за преобразуване на целочисления тип данни „CLNG“.

Синтаксис

По-долу е синтаксисът на функцията CLNG.

  • Изразът не е нищо друго освен стойността или променливата, които искаме да преобразуваме в тип данни LONG.

Забележка: Стойността, която се опитваме да преобразуваме, трябва да бъде числова, всичко различно от числовата стойност ще доведе до „Грешка при време на изпълнение 13: Несъответствие на типа“.

Примери за използване на функцията CLng във VBA

Пример # 1

Сега ще видим как да преобразуваме съхранената в текста стойност в типа данни „Long“.

Например погледнете кода по-долу.

Код:

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

Така че, сега разгледайте внимателно кода, за да разберете как работи това.

Първо, декларирахме съответно две променливи, String и Long.

Код:

Dim LongNumber As String Dim LongResult As Long

За променливата на низ сме присвоили числото на стойността, но в двойни кавички, така че това, което ще направим, е да третира числото „2564589“ като низ, а не като променлива „Long“. Сега за другата променлива, LongResult, използвахме функцията Clng (LongNumber), за да преобразуваме записаното число в ред в LONG променлива.

Следващото поле за съобщение ще покаже резултата като ДЪЛГО число, преобразувано от низ в дълъг тип данни.

Изход:

Пример # 2

Сега погледнете кода по-долу.

Код:

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

Това трябва да ни даде резултата като „Несъответствие на типа“.

Разбирането защо възниква грешката е от основно значение за отстраняването на грешката. Когато разгледате внимателно променливите за първата променлива LongNumber, ние сме присвоили текстовата стойност като „Long Number“, тогава използвахме функцията excel VBA CLNG, за да преобразуваме това в тип LONG данни.

Причината, поради която получихме тази грешка, е, че типът данни LONG може да приеме само числов тип данни, тъй като сме предоставили стойност на низ към променливата, той не може да преобразува стойността на низа или текстовата стойност в дълъг тип данни. Следователно, тя дава грешката като „Несъответствие на типа“.

Пример # 3

One more error we get with the LONG data type is “Overflow Error in VBA,” i.e., the Long variable data type can hold values from -2,147,483,648 2,147,483,647. So any amount above this will cause an overflow error.

For example, look at the below code.

Code:

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

For the variable “LongNumber,” I have assigned the number “25645890003,” which is over the limit of the “Long” data type. When we run the above code, it will encounter an “Overflow” error.

So, when converting any other data type to Long data type, we need to keep in mind all the above things.

The thing to Remember here

  • CLNG stands for convert to long.
  • This function converts the other data type to a long data type.
  • Трябва да знаете границата на разширения тип данни, за да предотвратите грешка при препълване.

Интересни статии...