如果您曾经编程过任何宏,则可能熟悉如何使用Dim关键字定义变量。例如,您可以如下定义名称为MyVar的整数变量:

Dim MyVar As Integer

这非常简单,可以在您的代码中正常工作。您可能会想每行定义多个变量,但是:

Dim x, y, z As Integer

在BASIC语言的某些版本中,这将定义并初始化三个变量,每个变量均为整数。在VBA中,它似乎也可以正常运行,并且不会产生任何错误。但是,存在一个小问题-只有最后一个变量(z)实际上定义为整数。

您可以使用以下代码查看其工作原理:

Sub DimTest()

Dim x, y, z As Integer     MsgBox "x is type " & VarType(x)

MsgBox "y is type " & VarType(y)

MsgBox "z is type " & VarType(z)

End Sub

运行宏时,弹出的前两个消息框显示x和y的变量类型为0,表示未初始化。

仅最后一个消息框(对于z)显示变量类型2,表示整数。

解决方案是确保每行声明一个变量,或者对每个变量使用完整的语法,如下所示:

Dim x As Integer, y As Integer, z As Integer

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(12098)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。 Word的旧菜单界面在这里: