我正在 VBA 中编写一个函数以在 excel 公式中使用,如果我的函数返回单个值就可以了:
=MYVALUE(A1)
现在我写了另一个函数,它返回一个 Array(1,2,3,4,...) 并且我用 Array 公式替换了我的 excel 公式:
{=MYARRAY(A1)}
但是当我拉伸(stretch)公式时,所有单元格都显示数组的第一个值。为什么 ?
这是我的 VBA 源代码 (complement.xlam):
Function MYVALUE(x as integer)
MYVALUE = 123
End Eunction
Function MYARRAY(x as integer)
MYARRAY = Array(10,20,30)
End Eunction
最佳答案
数组公式需要这样使用
我的 VBA 在多个单元格中拆分文本
Function EXPLODE_V(texte As String, delimiter As String)
EXPLODE_V = Application.WorksheetFunction.Transpose(Split(texte, delimiter))
End Function
Function EXPLODE_H(texte As String, delimiter As String)
EXPLODE_H = Split(texte, delimiter)
End Function
C3:C7
这定义了矢量方向。 =EXPLODE_V($B$3;" ")
{=EXPLODE_V($B$3;" ")}
括号(但不要手动输入它们!)。关于arrays - 如何在 vba 函数中返回 array() 以在单元格中使用它 数组公式(矩阵公式) : for split texte in multi cells,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14875480/