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

时间:2015-02-19 16:02:11

标签: 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 variant
myArr(1) =  "string1"
myArr(2) =  "string2"
myArr(3) =  "string3"
End Sub

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

提前致谢!

编辑:解决方案

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

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

2 个答案:

答案 0 :(得分:6)

怎么样?

Sub EasyArrayInput()
    Dim myArr() As Variant

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

答案 1 :(得分:2)

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

Dim myArray()
myArray = [TRANSPOSE(INDEX("string"&ROW(1:10),))]

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