📜  类型不匹配的VBA

📅  最后修改于: 2021-01-11 14:30:19             🧑  作者: Mango

类型不匹配的VBA

当我们尝试在两个不同的变量类型之间分配一个值时,就会发生一个错误,称为VBA类型不匹配错误。

该错误在运行时发生,例如“运行时错误13:类型不匹配”。

例如:如果我们为整数数据类型变量提供文本值,则在代码执行期间会发生类型不匹配错误。

我们在代码中声明变量,并为其分配数据类型。我们需要在为这些变量提供值时记住它所保存的数据类型。如果提供的值与数据类型要求不符,则会引发“运行时错误13:类型不匹配”错误。

VBA类型不匹配的优点

以下是类型不匹配错误的一些优点,例如:

  • 我们知道代码中实际发生的错误。
  • 没有代码的编译,我们就可以得到代码中的错误点。

例子

以下是一些显示类型不匹配错误的步骤。现在,请按照以下步骤操作,例如:

步骤1:点击“开发者”标签。

步骤2:然后单击Visual Basic选项。

步骤3:然后在弹出窗口中单击“插入”按钮。

步骤4:现在插入一个新的Module

步骤5:双击新添加的Module ;它打开一个代码窗口。

步骤6:在代码窗口中编写VBA代码。

步骤7:接下来,将变量“ X”定义为Integer数据类型。

步骤8:整数数据类型只能存储数字和整数。但是我们将文本值分配给X变量。

步骤9:我们使用消息框查看X变量中存储的值。

步骤10:通过单击“运行”按钮执行上述代码。

执行后,它将显示错误消息“运行时错误'13':类型不匹配” 。整数数据类型只能存储数字或整数,但是我们将文本值分配给整数数据类型。这就是为什么它会给出错误。

如果我们为变量分配正确的值,我们将获得正确的输出,如下所示:

现在执行上面的代码,它将给出正确的输出而不会显示任何错误。

示例2:这是另一个具有不同数据类型的示例,例如:

我们将变量“ A”定义为布尔值。布尔数据类型只能保存True或False值。

我们将值分配为100,但不是根据数据类型值。

现在,通过单击“运行”按钮执行上述代码。

执行上述代码后,它不会显示任何错误消息,因为excel会将除零以外的所有数字视为True,并将零视为False。

如果我们将文本值和数字值相加,则会显示错误,例如:

再次执行相同的代码,现在它将显示错误,如下面的屏幕截图所示,例如: