如何在Excel-VBA中的用户定义函数中传递结果数组?

苏拉杰·舒里

我正在检查是否有任何方法可以在UDF中传递结果数组。

如果传递一个范围,例如- $A$2:$A$5我的函数将按预期工作,但是如果传递该范围之前,例如-IF($A$2:$A$5 < 3, $A$2:$A$5 ,"")使用control + shift + enter ,则我的函数将无法正常工作

在此处输入图片说明

这是我正在使用的代码-

Public Function ReverseTextToColumns(Rg As Range, Optional D As String = " ") As String
  Dim xArr
  xArr = Application.WorksheetFunction.Transpose((Rg.Value))
  ReverseTextToColumns = Join(xArr, D)
End Function

我不想创建复杂的函数,而只是想知道如何在UDF中传递结果数组。

QHarr

将第一个参数传递为Variant并删除 .Value

Option Explicit
Public Function ReverseTextToColumns(n As Variant, Optional D As String = " ") As String
    Dim xArr
    xArr = Application.WorksheetFunction.Transpose((n))
    ReverseTextToColumns = Join(xArr, D)
End Function

工作表:

工作表

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章