Excel教程下载中心,Microsoft技术社区联盟成员,全球领先的Excel2003/2007/2010门户,培训学习Office的最佳社区

发新话题
打印

求助,关于数组的问题     hits : 830

求助,关于数组的问题


Sub t()
ReDim sname(4) As String
For i = 1 To 4
f = InputBox("Enter")
sname(i) = f
Next i
Sheet1.Range("A1:A4") = sname(i)
End Sub
我想把数组元素写到A1到A4,最后的一句提示下标越界。

TOP

Sub t()
ReDim sname(4) As String
For i = 1 To 4
f = InputBox("Enter")
sname(i) = f
Next i
For i = 1 To 4
    Range("A" & i).Value = sname(i)
Next
End Sub

TOP

谢谢版主提供的资料库!

TOP

谢谢版版,还要用循环来写吗,我记得有个array或什么记不清了,好象是可以一次性写入的。

TOP

Option Base 1
Sub t()
ReDim sname(4) As String
For i = 1 To 4
f = InputBox("Enter")
sname(i) = f
Next i
Sheet1.Range("A1:A4") = Application.Transpose(sname())
End Sub

楼主的数组下标默认为0,而楼主从1开始循环,自然不对,应用option base 1 定义下标

TOP

谢谢zhouzc88的提醒!

再补充一点.通常,返回的数组按水平方向排列,要赋值给垂直方向的单元格,需要进行转置.

TOP

发新话题
最近访问的版块
本论坛言论纯属发表者个人意见,与Excel Home立场无关,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!