VBA VARTYPE函数|如何查找变量的数据类型?

Excel VBA VarType函数

VBA变量类型 表示“变量类型”。此函数可帮助我们识别分配给特定变量的数据类型,或者简单地说,它可以找到存储或分配给变量的值的类型。

句法

变量名: 我们只需要提供变量名来查找存储在提供的变量名中的数据。

因此,它将变量名用作语法或参数,并在输出中返回分配给变量的数据类型或存储在变量中的数据类型。

因此,如果您曾经想过如何找到变量数据类型或分配给变量的数据类型,那么这里就有一个VBA函数“ VarType”。

例子

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

范例#1

在VBA中,编写代码时,我们通常会声明变量并为其分配数据类型。有关示例,请查看下面的VBA代码。

代码:

 Sub VarType_Example()Dim MyVar As String MyVar =“ Hello”结束Sub 

在上面的示例中,我们将变量声明为“ String”,并为此字符串将值分配为“ Hello”。

这是直接的情况,但是也可以声明变量而无需将变量分配给它们,因此在这种情况下,VarType函数可以为我们提供帮助。

代码:

 Sub VarType_Example()昏暗MyVar MyVar =“ Hello”结束Sub 

在上面的代码中,我们没有分配任何数据类型,而是直接将值分配为“ Hello”,因此,通过使用VarType函数,我们可以找到变量的数据类型。

在上面的代码中以VBA编码打开MSGBOX。

然后打开VarType函数。

现在,输入变量名称作为VARTYPE函数的参数。

代码:

 Sub VarType_Example()Dim MyVar MyVar =“你好” MsgBox VarType(MyVar)结束Sub 

现在运行代码,然后在消息框中查看得到的内容。

我们得到的结果为8,因为VBA对于每种变量数据类型都有特定的代码,因此下面是为您提供的详细列表。

价值持续的描述
0vbEmpty变量尚未初始化
1vbNull分配的数据无效
2vbInteger变量值为“整数”数据类型
3vbLong变量值为“长”数据类型
4vbSingle变量值为“单一”数据类型
5vbDouble变量值为“ Double”数据类型
6vbCurrency变量值为“货币”数据类型
7vbDate变量值为“日期”数据类型
8vbString变量值为“字符串”数据类型
9vbObject变量值为“对象”数据类型
10vbError变量值为错误值
11vbBoolean变量值为“布尔”数据类型
12vbVariant变量值为“ Variant”数据类型(仅用于变量数组)
13vbDataObject变量值为数据访问对象
14vb十进制变量值为“十进制”数据类型
17vbByte变量值为“字节”数据类型
20vbLongLong变量值为“ LONG LONG”数据类型(仅在64位平台上有效)
36vbUserDefinedType变量值为“用户定义”数据类型
8192vbArray变量值为Array

好的,现在我们的代码已将变量数据类型重新调整为8,即变量名“ MyVar”包含“ String”数据类型。

范例#2

现在,看下面的代码。

代码:

 Sub VarType_Example2()昏暗MyVar设置MyVar = ThisWorkbook MsgBox VarType(MyVar)结束Sub 

让我们运行这段代码,看看结果如何。

结果为9,即包含“对象”数据类型的变量。是的,这是正确的,因为我们为变量“ MyVar”设置了工作簿引用“ This Workbook”。

例子#3

现在,看下面的代码。

代码:

 Sub VarType_Example3()昏暗MyVar MyVar = 32500 MsgBox VarType(MyVar)结束Sub 

这将返回结果为2。

因为分配给变量的数字32500是“整数”值。

现在,我将值更改为40000并查看结果。

代码:

 Sub VarType_Example4()昏暗MyVar MyVar = 40000 MsgBox VarType(MyVar)结束Sub 

这将得出结果为3。

因为Integer值以32767结尾,所以超出此值的任何内容都将被视为VBA LONG数据类型。

现在,我将数字用双引号引起来。

代码:

 Sub VarType_Example5()昏暗MyVar MyVar =“ 40000” MsgBox VarType(MyVar)结束Sub 

运行代码并查看结果。

我们得到的结果为8,即String数据类型。

这是因为括号内提供的任何内容都将被视为String变量。

要记住的事情

  • VARTYPE代表“变量类型”。
  • 数据类型用唯一的数字表示,因此请参考表以了解哪个数字表示哪个变量数据类型。