ArrayでObjectを生成できる

Sub test()
    For Each v In Array(1, 2, 3)
        Debug.Print "value=" & v
    Next
End Sub

文字列でもOK

Sub test2()
    For Each v In Array("a", "b", "c")
        Debug.Print "value=" & v
    Next
End Sub

定義するときはこうする

Option Base 0
Dim foo_list() As String

引数で利用する sub の場合は call が必須となるのがポイント

Public Static Sub test()
    Dim list(3) As String
    list(0) = "a"
    list(1) = "b"
    list(2) = "c"
    Call output(list)
End Sub

Private Sub output(list() As String)
    Dim s As Variant
    For Each s In list
        Debug.Print CStr(s)
    Next
End Sub

一度に定義

Sub test()
    Dim list As Variant
    Dim v As Variant
    list = Array("a", "b", "c")
    For Each v In list
        Debug.Print (v)
    Next
End Sub