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

用本机代码中的值列表填充VBA数组,vba,excel,Vba,Excel,希望这个问题能有一个快速的答案 我有一个数组,我想用参数列表填充它 Sub EasyArrayInput() Dim myArr() as variant myArr = ("string1", "string2", "string3") End Sub 我很清楚如何循环并填充for/next或do/while,但是如果不使用硬编码方法,能够在值不会更改时填充数组,那就太好了 Sub UsualMethodThatIDontWantToDo() Dim myArr(1 to 3) as var

希望这个问题能有一个快速的答案

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

Sub EasyArrayInput()
Dim myArr() as variant
myArr = ("string1", "string2", "string3")
End Sub
我很清楚如何循环并填充for/next或do/while,但是如果不使用硬编码方法,能够在值不会更改时填充数组,那就太好了

Sub UsualMethodThatIDontWantToDo()
Dim myArr(1 to 3) as variant
myArr(1) =  "string1"
myArr(2) =  "string2"
myArr(3) =  "string3"
End Sub
是否有类似于第一个代码段的方法来实现这一点?我宁愿那样做。如果这个问题被问到/回答了,我很抱歉,但是我不太确定我所问的方法叫什么

提前谢谢

编辑:解决方案

下面的代码片段(来自chancea发送的链接)将创建一个数组,该数组是我想要的变体

Sub EasyArrayInput()
Dim myArr() as variant
myArr = Array("string1", "string2", "string3")
End Sub
如果您只有字符串且不想初始化变量,则下一个代码段看起来很有用:

Sub EasyArrayInput()
Dim myArr() as String
myArr = Split("String1,String2,String3", ",")
End Sub

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

Dim myArray()
myArray = [TRANSPOSE(INDEX("string"&ROW(1:10),))]
但坦率地说,我认为循环更清晰。

怎么样

Sub EasyArrayInput()
    Dim myArr() As Variant

    myArr = Array("string1", "string2", "string3")
End Sub

这是一个重复的问题,实际上与那个问题不同。谢谢chancea,我不太确定我需要查找什么,但从你的链接中找到了解决方案。我已在问题中添加了解决方案。真的很感激你能这么快帮上忙!这是可行的,我会使用它,但我正在编写的代码将从工作簿转移到具有不同范围/工作表的工作簿。不过我感谢你的帮助!我不确定我是否看到了相关性,但没关系。