乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em> <em>vba</em>中如何定义<

<em>excel</em> <em>vba</em>中如何定义<

作者:乔山办公网日期:

返回目录: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

相关阅读

  • <em>excel</em> <em>vba</em>中如何定义<

  • 乔山办公网excel表格制作
  • EXCEL表的来单元格区域是一个二维数组源dim arrarr=Sheet3.Range("D7:D9")这时的arr得到的是二维数组你要转换成1维数组,先声明一个动态数组再百重定义为1维数组dim brr()redim brr(1 to ubound(arr))再
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网