dim // 忽略变量,说数组,用法:
dim a(10)或dim a(10,10) //a(10)是常用到的,后面是二维数组
dim a() //声明动态数组,声明后可以在过程中使用redim重新定义数组的元素及维数
*如果试图定义dim中已定义维数的数组则全出现错误;如dim a(10)'... redim a(11)用法是错误的,不但不能增加元素,而且原始值无法改变,也就是说在这里应用redim无意义
redim //用于
过程级声明动态数组变量并分配或重新分配存储空间。也就是说这个是用来与dim a()配合使用的
ReDim 语句通常用于指定或修改“动态”数组的大小,这些数组已用带有空括号的
Private、
Public 或
Dim 语句(没有维数下标)正式声明过。可以重复使用
ReDim 语句更改数组维数和元素数目。如果使用了
Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。例如,如果数组只有一维,就可以修改该数组的大小,因为该维是最后的也是仅有的一维。但是,如果数组有两个或更多维,就只能改变末维的大小并保留数组内容。
如redim preserve a()//“不”清空动态数组元素“所有内容”
也可以直接使用redim来声明数组,之后也可再次redim再次声明;例:若存在 dim a(10); 那么就不能使用redim a(15)否则出错
1.调试提示出现了redim出错且,下标越界
Dim a(3)
a(0) = 4 : a(1) = 7 : a(2) = 9 : a(3) = 18
Redim a(4)
For i = 0 To 4
TracePrint a(i)
Next
2.给动态数组各元素赋值并调试其值,再次重定义数组含Preserve ,最后直接重定义清空
Dim a()
Redim a(4)
For i = 0 To 4
a(i) = mid("15258", i+1, 1)
TracePrint "第一次的值:"&a(i)
Next
Redim Preserve a(10)
For i = 0 To 10
TracePrint "第二次的值:"&a(i)
Next
Redim a(15)
For i = 0 To 15
TracePrint "第三次的值:"&a(i)
Next
3.另类用法,可以直接重定义数组
Redim a(10)
TracePrint a(11)
Redim a(11)
TracePrint a(11)
水贴一个,高手请无视,给对定义数组不了解的新手;当然我也是新手然后官方帮助框说的很详细;只是被很多人忽视而已
dim // 忽略变量,说数组,用法:
dim a(10)或dim a(10,10) //a(10)是常用到的,后面是二维数组
dim a() //声明动态数组,声明后可以在过程中使用redim重新定义数组的元素及维数
*如果试图定义dim中已定义维数的数组则全出现错误;如dim a(10)'... redim a(11)用法是错误的,不但不能增加元素,而且原始值无法改变,也就是说在这里应用redim无意义
redim //用于
过程级声明动态数组变量并分配或重新分配存储空间。也就是说这个是用来与dim a()配合使用的
ReDim 语句通常用于指定或修改“动态”数组的大小,这些数组已用带有空括号的
Private、
Public 或
Dim 语句(没有维数下标)正式声明过。可以重复使用
ReDim 语句更改数组维数和元素数目。如果使用了
Preserve 关键字,就只能调整数组最后维的大小,并且不能改变数组的维数。例如,如果数组只有一维,就可以修改该数组的大小,因为该维是最后的也是仅有的一维。但是,如果数组有两个或更多维,就只能改变末维的大小并保留数组内容。
如redim preserve a()//“不”清空动态数组元素“所有内容”
也可以直接使用redim来声明数组,之后也可再次redim再次声明;例:若存在 dim a(10); 那么就不能使用redim a(15)否则出错
1.调试提示出现了redim出错且,下标越界
Dim a(3)
a(0) = 4 : a(1) = 7 : a(2) = 9 : a(3) = 18
Redim a(4)
For i = 0 To 4
TracePrint a(i)
Next
2.给动态数组各元素赋值并调试其值,再次重定义数组含Preserve ,最后直接重定义清空
Dim a()
Redim a(4)
For i = 0 To 4
a(i) = mid("15258", i+1, 1)
TracePrint "第一次的值:"&a(i)
Next
Redim Preserve a(10)
For i = 0 To 10
TracePrint "第二次的值:"&a(i)
Next
Redim a(15)
For i = 0 To 15
TracePrint "第三次的值:"&a(i)
Next
3.另类用法,可以直接重定义数组
Redim a(10)
TracePrint a(11)
Redim a(11)
TracePrint a(11)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。