作者:乔山办公网日期:
返回目录:excel表格制作
EXCEL表的来单元格区域是一个二维数组源
dim arr
arr=Sheet3.Range("D7:D9")
'这时的arr得到的是二维数组
'你要转换成1维数组,先声明一个动态数组再百重定义为1维数组
dim brr()
redim brr(1 to ubound(arr))
'再重新将二维转一维度
for i = 1 to ubound(arr)
brr(i)=arr(i,1)
next
'如果你是要间隔写进去
for i = 1 to ubound(arr) step 2
brr(i)=arr(i,1)
next
aaa=array(1,6,8,18,19,20,25,62,63,64)
for i=0 to ubound(aaa)
msgbox(aaa(i))
next
Sub test()
Dim 数组道() As Integer '定义动态数组
Dim n As Long
Dim i As Integer
n = Application.WorksheetFunction.CountA(Range("A:A")) '确定A列数版据数量
ReDim 数组(1 To n) As Integer '根据A列数据重新定义数组
For i = 1 To n
数组(i) = Cells(i, 1) '给数组赋权值
Next
End Sub
数组作为入参知的例子如下:
按地道址传递byref
Sub AAATest()
Dim StaticArray(1 To 3) As Long
Dim N As Long
StaticArray(1) = 1
StaticArray(2) = 2
StaticArray(3) = 3
PopulatePassedArray Arr:=StaticArray
For N = LBound(StaticArray) To UBound(StaticArray)
专Debug.Print StaticArray(N)
Next N
End Sub
Sub PopulatePassedArray(ByRef Arr() As Long) 这里是数组入参属
Dim N As Long
For N = LBound(Arr) To UBound(Arr)
Arr(N) = N * 10
Next N
End Sub