VBA变体|如何在Excel VBA中声明变量数据类型?

Excel VBA变体数据类型

VBA中的变体数据类型 是一种通用数据类型,可以容纳任何类型的数据类型,但是在分配数据类型时,我们需要使用单词“ Variant”。

我们都知道变量在VBA项目中有多重要。声明变量后,我们需要为声明的变量分配数据类型。 VBA中的数据类型分配取决于我们需要将哪种数据分配给已声明的变量。

例如,请看下面的代码。

在上面的代码中,我已将变量声明为 “整数编号” 并且我将数据类型分配为 “整数”.

在将数据类型分配给变量之前,我应该了解变量的局限性。由于我已将数据类型分配为Integer,因此我的变量可以容纳-32768到32767之间的数字。

超出数据类型限制的限制将导致错误。因此,如果我们要存储超过32767的值,则需要分配可以容纳超过32767的不同数据类型。

为了克服这个限制,我们有一个通用的数据类型“ Variant”。本文将向您展示Variant数据类型的完整指南。

如何声明变体数据类型?

我们可以将变量数据类型声明为常规数据类型,但是在分配数据类型时,我们需要使用单词“ Variant”。

代码:

 Sub Variant_Example1()Dim MyNumber作为Variant End Sub 

这使变量现在可以处理任何类型的数据。我们可以分配任何数字,字符串,日期和许多其他东西。

下面是相同的演示。

代码:

 Sub Variant_Example1()Dim MonthName作为Variant Dim MyDate作为Variant Dim MyNumber作为Variant Dim MyName作为Variant MonthName =“ January” MyDate =“ 24-04-2019” MyNumber = 4563 MyName =“我的名字是Excel VBA” 

在上面,我给变量分配了一个日期,给变量分配了数字,给变量分配了一个字符串。因此,Variant数据类型使我们不必担心要存储或分配给哪种数据。

只要将变量声明为Variant,我们就不必在编码时担心项目中间的数据类型。这使变量可以灵活地满足我们的需求。大概只有一个变量,我们就可以在整个项目中进行操作。

VBA变体不需要明确的方式

声明VBA变量的一般过程是先命名该变量,然后为其分配数据类型。以下是相同的示例。

这是声明变量的显式方法。但是,当我们声明Variant数据类型时,我们不需要显式声明它们,而只需命名变量并忽略数据类型部分即可。

代码:

 Sub Variant_Example1()昏暗的MyNumber结束Sub 

在上面的代码中,我将变量命名为“ MyNumber”,但是在命名变量之后,我没有为其分配任何数据类型。

我忽略了[数据类型名称]部分,因为在我们忽略数据类型分配部分的那一刻,变量始终变为Variant。

要记住的事情

即使“ Variant”数据类型可以灵活地处理数据,我们仍要存储这种数据类型,但它并不是流行的数据类型。看起来很奇怪,但绝对正确。除非有特定的使用理由,否则请避免使用此数据类型。以下是一些避免使用Variant的原因。

  • 它忽略所有数据不匹配错误。
  • 变量数据类型限制我们访问IntelliSense列表。
  • VBA总是猜测可能的最佳数据类型并进行相应分配。
  • 对于Integer数据类型限制,变体数据类型在超过32767限制时不会通知我们。