📅  最后修改于: 2021-01-11 14:30:19             🧑  作者: Mango
当我们尝试在两个不同的变量类型之间分配一个值时,就会发生一个错误,称为VBA类型不匹配错误。
该错误在运行时发生,例如“运行时错误13:类型不匹配”。
例如:如果我们为整数数据类型变量提供文本值,则在代码执行期间会发生类型不匹配错误。
我们在代码中声明变量,并为其分配数据类型。我们需要在为这些变量提供值时记住它所保存的数据类型。如果提供的值与数据类型要求不符,则会引发“运行时错误13:类型不匹配”错误。
以下是类型不匹配错误的一些优点,例如:
以下是一些显示类型不匹配错误的步骤。现在,请按照以下步骤操作,例如:
步骤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。
如果我们将文本值和数字值相加,则会显示错误,例如:
再次执行相同的代码,现在它将显示错误,如下面的屏幕截图所示,例如: