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对于每种变量数据类型都有特定的代码,因此下面是为您提供的详细列表。
价值 | 持续的 | 描述 | ||
0 | vbEmpty | 变量尚未初始化 | ||
1 | vbNull | 分配的数据无效 | ||
2 | vbInteger | 变量值为“整数”数据类型 | ||
3 | vbLong | 变量值为“长”数据类型 | ||
4 | vbSingle | 变量值为“单一”数据类型 | ||
5 | vbDouble | 变量值为“ Double”数据类型 | ||
6 | vbCurrency | 变量值为“货币”数据类型 | ||
7 | vbDate | 变量值为“日期”数据类型 | ||
8 | vbString | 变量值为“字符串”数据类型 | ||
9 | vbObject | 变量值为“对象”数据类型 | ||
10 | vbError | 变量值为错误值 | ||
11 | vbBoolean | 变量值为“布尔”数据类型 | ||
12 | vbVariant | 变量值为“ Variant”数据类型(仅用于变量数组) | ||
13 | vbDataObject | 变量值为数据访问对象 | ||
14 | vb十进制 | 变量值为“十进制”数据类型 | ||
17 | vbByte | 变量值为“字节”数据类型 | ||
20 | vbLongLong | 变量值为“ LONG LONG”数据类型(仅在64位平台上有效) | ||
36 | vbUserDefinedType | 变量值为“用户定义”数据类型 | ||
8192 | vbArray | 变量值为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代表“变量类型”。
- 数据类型用唯一的数字表示,因此请参考表以了解哪个数字表示哪个变量数据类型。