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) |
|