Arrays 是否可以基于数组值对新变量进行尺寸标注?

Arrays 是否可以基于数组值对新变量进行尺寸标注?,arrays,excel,vba,Arrays,Excel,Vba,我有很多字段,需要为它们定义一个新变量。字段列表可能会更改,因此我想将字段列表放在字符串中以填充数组。从这里开始,我想循环数组并对变量进行标注。当我运行类似于下面的代码时,我得到了所需的编译错误常量表达式。如果这样的事情不可能实现,有没有更好的方法来实现类似的结果 Public Sub Test() Dim strFields as String Dim arrFields() as String strFields = "Field1|Field2|Field3" arrFields =

我有很多字段,需要为它们定义一个新变量。字段列表可能会更改,因此我想将字段列表放在字符串中以填充数组。从这里开始,我想循环数组并对变量进行标注。当我运行类似于下面的代码时,我得到了所需的编译错误常量表达式。如果这样的事情不可能实现,有没有更好的方法来实现类似的结果

Public Sub Test()

Dim strFields as String
Dim arrFields() as String

strFields = "Field1|Field2|Field3"

arrFields = split(strFields,"|")

For Each x In arrFields()
    Dim arrFields(x) As String
Next x

End Sub

如果我理解您的意图,就无法在VBA中创建这样的动态变量名。如果你想要这样的东西,那就用一个字典对象,把你的名字作为键。谢谢你的快速回复,蒂姆。我将研究如何使用dictionary对象。如果这不起作用,那么您可以声明第二个与arrFields具有相同维度的字符串数组,并使用该数组来保存值。类似的请求适用于类对象的属性,但原理相同,使用Dictionary的例子:谢谢各位,我终于能够让我的代码使用Dictionary对象了。非常感谢你的帮助。