我想讓我的VBA子程序運行一個函數來創建一個數組,然後將該數組傳遞給另一個進一步處理這些函數的函數數組項目。我做了一個非常簡單並且功能與我的實際代碼完全一樣的例子。它如下:如何讓VBA子程序調用一個函數將子程序中的數組傳遞給另一個函數
Sub SubRoutine()
ProcessArray CreateArray
End Sub
Function ProcessArray(Arr() As Variant) As Variant
End Function
Function CreateArray() As Variant
Dim Array1(1 To 4) As Variant
CreateArray = Array1
End Function
這只是兩個函數和調用這兩個函數的子例程。編譯器拒絕編譯我的代碼,並解釋給我說:
編譯錯誤:
類型不匹配:數組或用戶定義類型預期
對此我只能說,一切都是相同的數據類型和傳遞的參數確實是一個數組。以防萬一你想知道,是的,我已經嘗試了一個有數據分配給它的數組。
我知道這是微妙的我在VBA語法中缺少,但我沒有看到這樣的例子。任何有識之士將不勝感激。
丹尼爾,如果我是一個小妞,我有你的孩子沒有有效辦法那讓我瘋狂。 – user1902208
Anyt提示得到一個函數返回字符串數組沒有咳嗽類型失配誤差(下面的例子): 功能CreateArray()作爲字符串() 昏暗數組1(1〜4)作爲字符串 CreateArray = Array1 End Function – user1902208
@ user1902208。該片段不會返回錯誤。你可以像dimx()這樣的字符串來調用它:x = CreateArray'。 –