[英]In VBA, how to split a string into an array, then pass it as an argument to a Sub or Function
我的問題:
有沒有一種方法可以將字符串拆分為數組,然后將其作為參數傳遞給需要數組的Sub或Function?
細節 :
我在下面有兩個簡單的VBA Sub。 Sub foo()將字符串拆分為數組,然后嘗試將其傳遞給Sub bar()。
Sub foo()
aTest = Split("1,2,3", ",")
bar (aTest)
End Sub
Sub bar(ByRef aArray())
' Do something
End Sub
但是,它們不會編譯。 在線條bar (aTest)
該參數未被識別為數組。 這是錯誤:
Compile error:
Type mismatch: array or user-defined type expected
我認為該錯誤正在發生,因為編譯器不會將Split
命令解釋為將變量放入數組中。 (如果這是一個錯誤的假設,請告訴我!)
由於您似乎不喜歡使用Variants,因此,如果需要,您可以自由地更具體:
Sub foo()
Dim aTest() As String
aTest = Split("1,2,3", ",")
Debug.Print TypeName(aTest) 'String()
bar aTest
End Sub
Sub bar(ByRef aArray() As String)
' Do something
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.