关于Excel VBA 中数组的问题

2025-02-27 03:49:28
推荐回答(3个)
回答1:

'动态数组的一个例子。
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

回答2:

t1=ubound(myarray)
t2=ubound(myarray,2)
或者
t1=range("range1").rows.count
t2=range("range1").columns.count

回答3:

m1 = UBound(MyArray) ‘行数
m2 = UBound(MyArray, 2) ’列数