例如,下面的语句:
Dim payment As Integer
payment= 300
表示在变量payment中存储值300。也就是说,一个变量一次只能存储一个值。
如果我们有多个值需要存储,照这个方法,则需要多个变量:
Dim payment1 As Integer
Dim payment2 As Integer
Dim payment3 As Integer
Dim payment4 As Integer
Dim payment5 As Integer
payment1= 300
payment2= 250
payment3= 350
payment4= 100
payment5= 500
其实,完全没有这个必要。对于这样的问题,我们可以使用数组轻松解决。假设数值存储在工作表列A中,为演示方便,假设只有5个数据,即数值在A2:A6区域,那么可以使用下面的代码来存储这些数值:
Dim i As Integer
Dim payments(1 To 5) As Integer
For i = 1 To 5
payments(i) = Range(“A1”).Offset(i).Value
Next i
上面代码中的变量payments就是数组,它一次存储了5个数值。
语句:
Dim payments(1 To 5) As Integer
声明了一个包含5个值的一维数组,数组名后括号中的内容指定了数组索引取值范围。示例中,表明该数组的索引从1开始至5结束。payments数组的值及对应的索引值如下图1所示。
现在,要使用数组分别存储这5名住户一年4个季度的水电费,则可使用下面的语句:
Dim payments(1 To 5,1 To 4) As Integer
这声明了一个二维数组。使用两个循环语句给这个二维数组赋值:
Dim i As Integer
Dim j As Integer
For i = 1 To 5
For j = 1 To 4
payments(i,j) = Cells(i + 1, j).Value
Next j
Next i