EXCEL VBA 数组赋值问题
发布网友
发布时间:2024-09-30 18:27
我来回答
共3个回答
热心网友
时间:2024-11-14 08:48
呵呵,需要加一个转置函数 Application.Transpose(ActiveSheet.Range("a1:a10").Value )
sub abc()
Dim abcd() As Variant
abcd = Application.Transpose(ActiveSheet.Range("a1:a10").Value)
MsgBox UBound(abcd)
For i = 1 To UBound(abcd)
MsgBox (abcd(i))
Next
end sub
热心网友
时间:2024-11-14 08:48
不要先把它定义为数组
Option Base 1
Sub abc()
Dim abcd
abcd = ActiveSheet.Range("a1:a10").Value
End Sub
如果要定义一维的,可以这么做
abcd =Application.WorksheetFunction.Transpose(ActiveSheet.Range("a1:a10").Value)
热心网友
时间:2024-11-14 08:49
不能这么赋值,只能一个一个赋值
改成下面的看看:
Option Base 1
Sub abc()
Dim abcd(10), i As Integer
For i = 1 To 10
abcd(i) = ActiveSheet.Range("a1").Offset(i - 1, 0).Value
Debug.Print abcd(i)
Next i
End Sub