我希望使用Excel数组函数来生成一个字符串数组,然后将其传递给用户定义的函数以去除空格并连接由","
分隔的字符串。将Excel字符串数组传递给用户定义的VBA函数
我有一个函数在从VBA宏调用时执行此操作。当我尝试将它用作用户定义的功能时,例如=ConcStr({"A","B","C"})
,我得到一个#Value!
错误。
功能如下:
Sub StrTest()
Dim StaticArray(1 To 3) As String
Dim Result As String
StaticArray(1) = "A"
StaticArray(2) = "B"
StaticArray(3) = "C"
Result = ConcStr(Arr:=StaticArray)
MsgBox Result
End Sub
Function ConcStr(Arr() As String) As String
MsgBox "started"
Dim N As Long
Dim Total As String
For N = LBound(Arr) To UBound(Arr)
MsgBox Arr(N)
Total = Total & "," & Arr(N)
Next N
ConcStr = Total
End Function
IIRC,您不能交换固定大小的数组和动态数组。 – RBarryYoung