gpt4 book ai didi

arrays - 在VBA中,如何使用函数返回数组/或写入单元格?

转载 作者:行者123 更新时间:2023-12-02 07:26:54 25 4
gpt4 key购买 nike

使用这个非常简单的函数:

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 坏了吗?!

最佳答案

以下代码将数组完美地写入一系列单元格:

Function WriteArray() As Variant
Dim AbcList(0 To 2) as Variant
AbcList(0) = "A"
AbcList(1) = "B"
AbcList(2) = "C"
WriteArray = AbcList
End Function

Function WriteArrayToSpreadsheet()
Dim MyArray As Variant
MyArray = WriteArray()

Dim StartRow, i As Integer
StartRow = 1
For i = 0 To UBound(MyArray)
Range("A" & i + StartRow).Value = MyArray(i)
Next
End Function

话虽这么说,我想看看代码中您实际上试图将其放入电子表格的部分,而不是构建数组的部分。那我可以帮你!

关于arrays - 在VBA中,如何使用函数返回数组/或写入单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/846682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com