先说一下,刚才一个错误的操作,连保存的草稿都没了,这也太悬了。以后还是在本地写好了再放上来。
数组是这样赋值的:
Dim a2(10) As Integer
'10是可以使用的最大上标,这和C语言不太一样
Dim a3(-2 To 10) As Integer
'也可以定义下标
Dim a1() As Integer
'定义变长数组 动态数组
ReDim a1(10)
'重新定义数组的长度
如果需要保存原来的数组中的数据,则使用:
ReDim Preserve a1(10)
如有特殊需要要将下标默认定义为1,则需要声明:
Option Base 1 Debug.Print LBound(a1) Debug.Print UBound(a1)
显示数组的上下界
定义二维数组:
Dim MyArray(-2 To 9, -8 To 12)
当定义好了一个数组,可以直接赋值给另外一个
MyArray2 = MyArray1
清除数组
erase MyArray2
清除之后数组内部成为初始值,对于动态数组来说,在没有赋数组长度值时,没有上下界,清除之后也没有,如果使用UBound,运行时会出现错误。
erase之后,动态数组并不是不存在了,这一点从可以继续redim就可以知道。这一点《Excel VBA 入门与应用典型实例》说错了。