VBA數組學習筆記
一、數組的分類
按元素數目分:元素數目大小固定的數組和元素數目大小不固定的動態數組。
按維數分:一維數組、多維數組。
Arr(1 to 12)、Arr1(0 to 24)----一維固定數組;
Arr2(1 to 5,1 to 8)---- 二維固定數組;
Arr3(5 to 10,6 to 12,1 to 100) ---- 三維固定數組。
動態數組
Dim Arr2(),r%
r=r+1
ReDim PReserve Arr2(1 To r) ―――動態數組;可以重新聲明(只有最后一維的數目才能重新聲明);
用了關鍵字 Preserve 可確保原來包含數據的數組中的任何數據都不會丟失
二、數組的賦值
2.1,單元格區域保存到數組
arr = [e22:i24]
arr=Range(“e22:i24”)
2.2,Array函數
myArray = Array("AAA", "BBB", 200, 500, "2006-7-12")
如果代碼頭沒有 Option Base 1 的語句,則數組myArray的上限為4,下限為0。
即下限LBound(myArr)=0 ,上限 UBound(myArr)=4
二維數組的第一維的上限:UBound(Arr,1)
二維數組的第二維的上限:UBound(Arr,2)
多維數組上限的求法一樣。
2.3,把單元格區域公式賦給數組
如果a5=B4+1
arr = [a4:c8].Formula '將單元格絕對引用公式保存到數組
[e4:g8]=arr 此時e5中的公式也=B4+1;
如果將單元格相對引用公式保存到數組
arr = [a4:c8].FormulaR1C1
如果a5=B4+1
[e4:g8]=arr 此時e5中的公式就=E4+1;
三、數組的處理
3.1,數組里的最大值和最小值
最大值aa = application.WorksheetFunction.Max(Arr)
aa= Application.WorksheetFunction.Large(Arr,1)
最小值aa = Application.WorksheetFunction.Min(Arr)
aa= Application.WorksheetFunction.Small(Arr,1)
新聞熱點
疑難解答