使用本机代码中的值列表填充VBA数组

JSS*_*JSS 7 excel vba excel-vba

希望能有一个快速回答这个问题....

我有一个数组,我想用一个参数列表填充它.

Sub EasyArrayInput()
Dim myArr() as variant
myArr = ("string1", "string2", "string3")
End Sub
Run Code Online (Sandbox Code Playgroud)

我很清楚如何遍历和填充for/next或do/while,但是当值不会在不使用硬编码方法的情况下改变时能够填充数组会很好.

Sub UsualMethodThatIDontWantToDo()
Dim myArr(1 to 3) as variant
myArr(1) =  "string1"
myArr(2) =  "string2"
myArr(3) =  "string3"
End Sub
Run Code Online (Sandbox Code Playgroud)

无论如何在类似于第一个代码片段的方法中做到这一点?我宁愿那样做.如果这个问题被提出/回答,我很抱歉,但我不太确定我所询问的方法是什么.

提前致谢!

编辑:解决方案

下面的代码片段(来自偶然发送的链接)将创建一个变量和exaclty我想要的数组.

Sub EasyArrayInput()
Dim myArr() as variant
myArr = Array("string1", "string2", "string3")
End Sub
Run Code Online (Sandbox Code Playgroud)

如果您只有字符串并且不想初始化变体,则下一个代码段看起来很有用:

Sub EasyArrayInput()
Dim myArr() as String
myArr = Split("String1,String2,String3", ",")
End Sub
Run Code Online (Sandbox Code Playgroud)

use*_*813 6

怎么样?

Sub EasyArrayInput()
    Dim myArr() As Variant

    myArr = Array("string1", "string2", "string3")
End Sub
Run Code Online (Sandbox Code Playgroud)


Ror*_*ory 2

假设你有某种数字序列,你可以这样做:

Dim myArray()
myArray = [TRANSPOSE(INDEX("string"&ROW(1:10),))]
Run Code Online (Sandbox Code Playgroud)

但坦率地说,我认为循环更清晰。