VBA CLng功能|如何使用CLng功能? (带有示例)

Excel VBA CLng函数

“ CLNG”表示“转换为Long”数据类型。整数数据类型限制在-32768到32767之间,因此,要存储到这些变量的任何多余数据,我们都需要在VBA中使用LONG数据类型。

变量是任何编程语言中的关键,而VBA也不例外。不使用变量,编写长代码几乎是不可能的任务。如果变量很重要,那么我们分配给这些变量的数据类型变量就更加重要,因为我们分配给它们的数据类型是我们得到的最终结果。

通常,我们可能会将数字数据分配为“字符串”,这样在进行计算时会引发错误,因此通过使用convert函数,我们可以转换所需的数据类型。常用的转换器功能是vba中的CLng,CInt,CDbl,CDate,CDec。在本文中,我们将向您介绍整数数据类型转换函数“ CLNG”。

句法

以下是CLNG函数的语法。

  • 表达 就是要转换为LONG数据类型的值或变量。

笔记: 我们尝试转换的值应该是数字,而不是数值会导致 “运行时错误13:类型不匹配”

在VBA中使用CLng函数的示例

您可以在此处下载此VBA CLNG Excel模板– VBA CLNG Excel模板

范例#1

现在,我们将看到如何将文本存储的值转换为“长”数据类型。

例如,请看下面的代码。

代码:

 Sub CLNG_Example1()Dim LongNumber as String Dim LongResult As Long LongNumber =“ 2564589” LongResult = CLng(LongNumber)MsgBox LongResult End Sub 

因此,现在仔细检查代码以了解其工作原理。

首先,我们分别声明了两个变量String和Long。

代码:

 Dim LongNumber作为字符串Dim Long结果作为Long 

对于字符串变量,我们为值分配了数字,但用双引号引起来,因此它将把数字“ 2564589”视为字符串,而不是“ Long”变量。现在,对于另一个变量LongResult,我们已使用Clng(LongNumber)函数将字符串存储的数字转换为LONG变量。

下一个消息框将结果显示为LONG数字,该数字将从字符串转换为长数据类型。

输出:

范例#2

现在看下面的代码。

代码:

 子CLNG_Example2()Dim LongNumber作为字符串Dim LongResult作为Long LongNumber =“ Long Number” LongResult = CLng(LongNumber)MsgBox LongResult End Sub 

这应该给我们结果 “类型不匹配”.

了解错误发生的原因对于修复错误非常重要。当您仔细查看第一个变量LongNumber的变量时,我们已将文本值分配为“ Long Number”,然后使用excel VBA CLNG函数将其转换为LONG数据类型。

之所以会出现此错误,是因为LONG数据类型只能接受数字数据类型,因为我们已将字符串值提供给变量,因此无法将字符串值或文本值转换为长数据类型,因此将错误显示为“类型不匹配”。

例子#3

我们使用LONG数据类型得到的另一个错误是“ vba中的溢出错误”,即长变量数据类型可以保存从-2,147,483,648到2,147,483,647的值。因此,任何高于此值的值都会导致溢出错误。

例如,请看下面的代码。

代码:

 Sub CLNG_Example3()Dim LongNumber as String Dim LongResult As Long LongNumber =“ 25645890003” LongResult = CLng(LongNumber)MsgBox LongResult End Sub 

对于变量“ LongNumber”,我分配了超出“ Long”数据类型限制的数字“ 25645890003”。当我们运行上面的代码时,它将遇到一个 “溢出” 错误。

因此,当您将任何其他数据类型转换为Long数据类型时,我们需要牢记上述所有内容。

这里要记住的事情

  • CLNG表示转换为long。
  • 此函数将其他数据类型转换为长数据类型。
  • 您需要知道长数据类型的限制,以防止发生溢出错误。