簡體   English   中英

在VBA中,如何將字符串拆分為數組,然后將其作為參數傳遞給Sub或Function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM