我希望使用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