gpt4 book ai didi

arrays - 如何在vba函数中返回array()以在单元格中使用它数组公式(矩阵公式): for split texte in multi cells

转载 作者:行者123 更新时间:2023-12-02 09:52:25 24 4
gpt4 key购买 nike

我正在用 VBA 编写一个函数以在 Excel 公式中使用,如果我的函数返回单个值就可以了:

=MYVALUE(A1)

现在我编写了另一个返回数组(1,2,3,4,...)的函数,并用数组公式替换了我的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
  1. 选择区域C3:C7,定义矢量方向。
  2. F2现场编辑并输入以下公式:=EXPLODE_V($B$3;"")
  3. CTRL+SHIFT+ENTER(而不是通常的ENTER ) - 这将定义一个 ARRAY 公式,并导致在其周围出现 {=EXPLODE_V($B$3;"")} 括号(但不要手动输入它们!)。

    sample of split cells texte

关于arrays - 如何在vba函数中返回array()以在单元格中使用它数组公式(矩阵公式): for split texte in multi cells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14875480/

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