在VBA中正确定义字符串数组

问题描述 投票:0回答:1

我通常在需要数组时使用变体:

Sub test()   'runs fine
    Dim s
    s = Array("a", "b", "c")
    Debug.Print s(1)
End Sub

现在我想要针对特定​​情况的性能,所以我想我可以通过使用String数组来节省几毫秒。我怎么做?

我的尝试:

Sub test2()
    Dim s() As String
    s = Array("a", "b", "c")     'run time error 13: type mismatch
    Debug.Print s(1)
End Sub 

谢谢。

arrays vba
1个回答
1
投票

试试这个:

Sub test2()
    Dim s1 As Variant
    Dim s2() As String
    s1 = Array("a", "b", "c")
    s2 = Split("a,b,c", ",")

    Debug.Print VarType(s1) & " Array of variants"
    Debug.Print VarType(s2) & " Array of strings"
End Sub

输出:

8204 Array of variant
8200 Array of string
© www.soinside.com 2019 - 2024. All rights reserved.