excel vba,我想把定义的数组输入a1到a10,这样的代码错误在哪里?
Subten()OptionBase1Dimarr(10)AsIntegerarr(1)=1arr(2)=2arr(3)=3arr(4)=4arr(5)=5arr(6)=...
Sub ten()
Option Base 1
Dim arr(10) As Integer
arr(1) = 1
arr(2) = 2
arr(3) = 3
arr(4) = 4
arr(5) = 5
arr(6) = 6
arr(7) = 7
arr(8) = 8
arr(9) = 9
arr(10) = 10
rang("a1:a10").Value = arr(1)
End Sub 展开
Option Base 1
Dim arr(10) As Integer
arr(1) = 1
arr(2) = 2
arr(3) = 3
arr(4) = 4
arr(5) = 5
arr(6) = 6
arr(7) = 7
arr(8) = 8
arr(9) = 9
arr(10) = 10
rang("a1:a10").Value = arr(1)
End Sub 展开
4个回答
展开全部
Sub ten()
Dim arr(10) As Integer
arr(0) = 1
arr(1) = 2
arr(2) = 3
arr(3) = 4
arr(4) = 5
arr(5) = 6
arr(6) = 7
arr(7) = 8
arr(8) = 9
arr(9) = 10
brr = Application.Transpose(arr())
Range("a1:a10").Value = brr
End Sub
分析:
1、你所定义的arr是一个横向的一维数组,而你要输入的是纵向(a1:a10).所以不能正常输出,输出前必须先进行转置,由arr转置后变成新的一维纵向数组brr。当然也可以用for 的方法输出。
2、你所定义的数组含有错误。数组的起始位置为0,而非1.
Dim arr(10) As Integer
arr(0) = 1
arr(1) = 2
arr(2) = 3
arr(3) = 4
arr(4) = 5
arr(5) = 6
arr(6) = 7
arr(7) = 8
arr(8) = 9
arr(9) = 10
brr = Application.Transpose(arr())
Range("a1:a10").Value = brr
End Sub
分析:
1、你所定义的arr是一个横向的一维数组,而你要输入的是纵向(a1:a10).所以不能正常输出,输出前必须先进行转置,由arr转置后变成新的一维纵向数组brr。当然也可以用for 的方法输出。
2、你所定义的数组含有错误。数组的起始位置为0,而非1.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你定义arr(10),那么应该是arr(0)~arr(9)哦,而arr(10)已经越界啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-09-04
展开全部
Range 不是rang
你是想A1=ARR(1) A2=ARR(2)....?
如果是这样用 for i =1 to 10
你是想A1=ARR(1) A2=ARR(2)....?
如果是这样用 for i =1 to 10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询