新建From1(窗体),新建Command1(按钮CommandButton),代码:
Private Sub Command1_Click()
Dim blArray(10) As Boolean ' Boolean 数组。
Dim NumArray(10) As Integer ' Integer 数组。
Dim StrVarArray(10) As String '变长的 String 数组。
Dim StrFixArray(10) As String * 10 '定长的 String 数组。
Dim VarArray(10) As Variant 'Variant 数组。
Dim DynamicArray() As Integer '动态数组。
ReDim DynamicArray(10) '分配存储空间。
Dim arrB() As Byte '字节数组
ReDim arrB(10)
arrB(10) = 2
Debug.Print "VarArrayByte:" & arrB(10)
'--------------------------------------------------------
Erase NumArray '将每个元素设为 0。
Erase StrVarArray '将每个元素设为零长度字符串 ("")。
Erase StrFixArray '将每个元素设为 0。
Erase VarArray '将每个元素设为 Empty。
Erase DynamicArray '释放数组所用内存。
Erase arrB '释放数组所用内存。
'--------------------------------------------------------
Debug.Print "blArray:" & blArray(10)
Debug.Print "NumArray:" & NumArray(10)
Debug.Print "StrVarArray:" & StrVarArray(10)
Debug.Print "StrFixArray:" & StrFixArray(10)
Debug.Print "VarArray:" & VarArray(10)
'Debug.Print "DynamicArray:" & DynamicArray(10) '如果执行就出错,因为下标越界
Debug.Print "VarArrayByte:" & VarArray(10)
VarArray(10) = 3
'Debug.Print "VarArrayByte:" & arrB(10) '如果执行就出错,因为下标越界
End Sub
运行结果:
VarArrayByte:2
blArray:False
NumArray:0
StrVarArray:
StrFixArray:
VarArray:
VarArrayByte:
如果你在StrFixArray后面拷贝空格,在debug中可以看到:
debug.Print len(" ")
运行结果:
10
而StrVarArray和VarArray都没空格。
提醒:Erase 删除动态数组,不会保留以前占的空间。