我的问题:
有没有一种方法可以将字符串拆分为数组,然后将其作为参数传递给需要数组的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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句