Excel VBA编程 数组的赋值
在VBA中,创建数组后将自动初始化数组中的每个元素。对于数值型的数组,每个元素都将初始化为0,而字符串型数组的每个元素的值则为空。
1.给数组元素赋初值
通过数组中的元素赋初值,可以利用Array函数来实现对数组中各个元素赋值,但其类似只能是Variant。
格式:Array(参数列表)
其中,所需的参数列表是一个用逗号隔开的值表,这些值用于所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为0的数组。例如,输出当前日期,如图5-6所示。
图5-6 输出当前日期
实现该效果的代码如下:
Sub 日期()
Dim w, d
'给数组赋值
w = Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")
'返回当前日期
d = w(Day(Now))
'输出当前日期
Debug.Print "Today is " & d
End Sub
在该代码中,利用Array函数将显示星期的值赋值给变量w,这样取得当前日期,并输出到【立即窗口】中。
提 示 | 如果数组中的元素过多的话,可以使用循环来为其赋值。利用循环可以很方便的为数组中的元素赋值。只要设定好条件,对数组中符合条件的数组元素,进行赋值。可以这样不必对数组中每一个元素赋值。 |
2.数组的复制
在VBA中,可以直接将一个数组的值复制给另一个数组,即使用“=”号进行复制。这样复制后的数组元素中同时包含本身和另一个数组中的元素。
例如,将数组a的值赋值给数组b,如图5-7所示。
图5-7 数组赋值
其代码如下:
Sub 赋值数组()
Dim a(3) As Integer, b() As Integer
a(0) = 0: a(1) = 5: a(2) = 3: a(3) = 3
b = a
For i = 0 To 3
怎么给数组赋值 Debug.Print b(i)
Next i
End Sub
在数组之间赋值时要注意:
● 数组之间的数据类型必须一致。
● 如果“=”左边是一个动态数组,则赋值时系统自动将该动态数组的大小声明成右边同样大小的数组。
● 静态数组不能赋值
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论