声明变量(Microsoft Excel)
如果您曾经编程过任何宏,则可能熟悉如何使用Dim关键字定义变量。例如,您可以如下定义名称为MyVar的整数变量:
Dim MyVar As Integer
这非常简单,可以在您的代码中正常工作。为了在代码中节省几行,您可能会想每行定义多个变量:
Dim x, y, z As Integer
在BASIC语言的某些版本中,这将定义并初始化三个变量,每个变量均为整数。在VBA中,它似乎也可以正常运行,并且不会产生任何错误。但是,存在一个小问题-只有最后一个变量(z)实际上定义为整数。
您可以使用以下代码查看其工作原理:
Sub DimTest() Dim x, y, z As Integer Dim sTemp As String sTemp = "x is type " & VarType(x) & vbCrLf sTemp = sTemp & "y is type " & VarType(y) & vbCrLf sTemp = sTemp & "z is type " & VarType(z) MsgBox sTemp End Sub
当您运行宏时,消息框将显示x和y的变量类型为0,这意味着该变量是变量(未声明变量的默认数据类型)。仅最后一个消息框(对于z)
显示变量类型2,表示整数。
解决方案是确保每行声明一个变量,或者对每个变量使用完整的语法,如下所示:
Dim x As Integer, y As Integer, z As Integer
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(12427)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:“ link:/ excel-Declaring_Variables [Declaring Variables]”。