dim // 忽略變量,說數(shù)組,用法:
dim a(10)或dim a(10,10) //a(10)是常用到的,后面是二維數(shù)組
dim a() //聲明動態(tài)數(shù)組,聲明后可以在過程中使用redim重新定義數(shù)組的元素及維數(shù)
*如果試圖定義dim中已定義維數(shù)的數(shù)組則全出現(xiàn)錯誤;如dim a(10)'... redim a(11)用法是錯誤的,不但不能增加元素,而且原始值無法改變,也就是說在這里應用redim無意義
redim //用于
過程級聲明動態(tài)數(shù)組變量并分配或重新分配存儲空間。也就是說這個是用來與dim a()配合使用的
ReDim 語句通常用于指定或修改“動態(tài)”數(shù)組的大小,這些數(shù)組已用帶有空括號的
Private、
Public 或
Dim 語句(沒有維數(shù)下標)正式聲明過。可以重復使用
ReDim 語句更改數(shù)組維數(shù)和元素數(shù)目。如果使用了
Preserve 關鍵字,就只能調(diào)整數(shù)組最后維的大小,并且不能改變數(shù)組的維數(shù)。例如,如果數(shù)組只有一維,就可以修改該數(shù)組的大小,因為該維是最后的也是僅有的一維。但是,如果數(shù)組有兩個或更多維,就只能改變末維的大小并保留數(shù)組內(nèi)容。
如redim preserve a()//“不”清空動態(tài)數(shù)組元素“所有內(nèi)容”
也可以直接使用redim來聲明數(shù)組,之后也可再次redim再次聲明;例:若存在 dim a(10); 那么就不能使用redim a(15)否則出錯
1.調(diào)試提示出現(xiàn)了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.給動態(tài)數(shù)組各元素賦值并調(diào)試其值,再次重定義數(shù)組含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.另類用法,可以直接重定義數(shù)組
Redim a(10)
TracePrint a(11)
Redim a(11)
TracePrint a(11)
水貼一個,高手請無視,給對定義數(shù)組不了解的新手;當然我也是新手然后官方幫助框說的很詳細;只是被很多人忽視而已
dim // 忽略變量,說數(shù)組,用法:
dim a(10)或dim a(10,10) //a(10)是常用到的,后面是二維數(shù)組
dim a() //聲明動態(tài)數(shù)組,聲明后可以在過程中使用redim重新定義數(shù)組的元素及維數(shù)
*如果試圖定義dim中已定義維數(shù)的數(shù)組則全出現(xiàn)錯誤;如dim a(10)'... redim a(11)用法是錯誤的,不但不能增加元素,而且原始值無法改變,也就是說在這里應用redim無意義
redim //用于
過程級聲明動態(tài)數(shù)組變量并分配或重新分配存儲空間。也就是說這個是用來與dim a()配合使用的
ReDim 語句通常用于指定或修改“動態(tài)”數(shù)組的大小,這些數(shù)組已用帶有空括號的
Private、
Public 或
Dim 語句(沒有維數(shù)下標)正式聲明過??梢灾貜褪褂?
ReDim 語句更改數(shù)組維數(shù)和元素數(shù)目。如果使用了
Preserve 關鍵字,就只能調(diào)整數(shù)組最后維的大小,并且不能改變數(shù)組的維數(shù)。例如,如果數(shù)組只有一維,就可以修改該數(shù)組的大小,因為該維是最后的也是僅有的一維。但是,如果數(shù)組有兩個或更多維,就只能改變末維的大小并保留數(shù)組內(nèi)容。
如redim preserve a()//“不”清空動態(tài)數(shù)組元素“所有內(nèi)容”
也可以直接使用redim來聲明數(shù)組,之后也可再次redim再次聲明;例:若存在 dim a(10); 那么就不能使用redim a(15)否則出錯
1.調(diào)試提示出現(xiàn)了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.給動態(tài)數(shù)組各元素賦值并調(diào)試其值,再次重定義數(shù)組含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.另類用法,可以直接重定義數(shù)組
Redim a(10)
TracePrint a(11)
Redim a(11)
TracePrint a(11)