我有一个函数,它接受一个数组并输出另一个数组。其内部比下面的玩具例子更复杂。接受范围作为数组参数
Public Function divide_by_2_5(ByRef coeffs() As Double) As Double()
Dim Columns As Integer
Columns = UBound(coeffs, 2) - LBound(coeffs, 2) + 1
Dim output() As Double
ReDim output(1 To 1, 1 To Columns)
Dim i As Integer
For i = 1 To Columns
output(1, i) = coeffs(1, i)/2.5
Next i
divide_by_2_5 = output
End Function
这是我看到:
我想在第二排,而不是包含函数的输出。在这种情况下,那将是0.4, 0.4, 0.4, 0.4
。
不幸的是,我得到一个#VALUE!
错误,我不知道如何调试。
一些澄清:显然有可能有相同的函数返回一个数组或写入电子表格(与Ctrl
- Shift
- Enter
)。以类似的方式,输入是来自范围还是数组?
如果您想要将一系列单元格传递给该函数,则需要将传递的参数声明为Range或Variant。 – YowE3K
您的'ReDim输出(1,coeffs)'语句应该是'ReDim output(1,columns)'。 – YowE3K
@ YowE3K,谢谢,编辑 – user357269