【发布时间】:2010-10-25 04:54:46
【问题描述】:
使用这个非常简单的函数:
Function WriteArray() as Variant
Dim array(0 To 2)
array(0) = "A"
array(1) = "B"
array(2) = "C"
WriteArray = array
End Function
我希望在我的 Excel 电子表格中看到整个数组的结果,但事实并非如此:我只得到第一个字符串。我知道在电子表格中显示整个数组是有技巧的(通过使用公式 + F2 + CTRL+SHIFT+ENTER 选择一系列单元格),但我更喜欢 VBA 来处理这一切。
我也尝试使用 Application.Caller 变量直接在“Caller”范围内写入,但代码中断。
非常感谢您的帮助!
编辑: 这是我尝试使用的另一个代码:
Function WriteArray() As Variant
Dim arr(0 To 2)
arr(0) = "A"
arr(1) = "B"
arr(2) = "C"
WriteArray = arr
Dim StartRow, i As Integer
For i = 0 To UBound(arr)
Range("A" & i).Value = arr(i)
Next
End Function
它在 "Range("A" & i).Value = arr(i)" 行中断。我的 Excel 坏了吗?!
【问题讨论】:
标签: arrays excel vba function range