关于Excel VBA 中数组的问题
在VBA自定义函数中引入了一个动态数组MyArray(),通过什么方法把该数组的行数赋值给T1,把列数赋值给T2呢。比如:MyArray=Range("Range1")R...
在 VBA 自定义函数中引入了一个动态数组MyArray(),通过什么方法把该数组的行数赋值给T1, 把列数赋值给T2呢。
比如:MyArray=Range("Range1")
Range1 是一个未知大小的区域,如何得知MyArray 的行数和列数。 展开
比如:MyArray=Range("Range1")
Range1 是一个未知大小的区域,如何得知MyArray 的行数和列数。 展开
3个回答
展开全部
'动态数组的一个例子。
Private Sub Command1_Click()
Dim a() As Integer'定义一个可变的数组
Dim n As Integer
n = 10
ReDim a(n) As Integer'重新定义大小
For i = LBound(a) To UBound(a)'用这两函数获得数据的上标和下标
a(i) = i + 1
Print i
Next
Print "-------------------"
ReDim Preserve a(n + 2) As Integer'加Preserve维持原始数据不变,如果没有这个关键词,所有元素都将变成0
a(n + 1) = 11
a(n + 2) = 12
For i = LBound(a) To UBound(a)
a(i) = i + 1
Print i
Next
End Sub
打开数据表后的行列数可以用下面两句得到:
ActiveSheet.UsedRange.Rows.Count
ActiveSheet.UsedRange.Columns.Count
Private Sub Command1_Click()
Dim a() As Integer'定义一个可变的数组
Dim n As Integer
n = 10
ReDim a(n) As Integer'重新定义大小
For i = LBound(a) To UBound(a)'用这两函数获得数据的上标和下标
a(i) = i + 1
Print i
Next
Print "-------------------"
ReDim Preserve a(n + 2) As Integer'加Preserve维持原始数据不变,如果没有这个关键词,所有元素都将变成0
a(n + 1) = 11
a(n + 2) = 12
For i = LBound(a) To UBound(a)
a(i) = i + 1
Print i
Next
End Sub
打开数据表后的行列数可以用下面两句得到:
ActiveSheet.UsedRange.Rows.Count
ActiveSheet.UsedRange.Columns.Count
展开全部
t1=ubound(myarray)
t2=ubound(myarray,2)
或者
t1=range("range1").rows.count
t2=range("range1").columns.count
t2=ubound(myarray,2)
或者
t1=range("range1").rows.count
t2=range("range1").columns.count
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m1 = UBound(MyArray) ‘行数
m2 = UBound(MyArray, 2) ’列数
m2 = UBound(MyArray, 2) ’列数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询