来自 String 文本的 Dim 变量
Dim variable from String text
我正在尝试使循环内的向量变暗。我想在每次迭代时使用不同的名称使变量变暗,例如:
Dim a as String
For i = 1 to 10
a = "vector_" & i
Dim a() as Double
Next i
所以,在那种特殊情况下,我需要 10 个 Double 变量:vector_1、vector_2、vector_3...当然,代码是错误的。
有简单的方法吗?
谢谢。
您不能在循环中声明变量的名称。变量将在 运行 它们之前被编译,并且 VBA 编译器不适用于循环。
无论如何,你可以考虑创建一个字典并在循环中编写键:
Sub TestMe()
Dim a As String
Dim i As Long
Dim foo As Object
Set foo = CreateObject("Scripting.Dictionary")
For i = 1 To 10
a = "vector_" & i
foo.Add a, i * i
Next i
Debug.Print foo("vector_5") 'prints 25
End Sub
我正在尝试使循环内的向量变暗。我想在每次迭代时使用不同的名称使变量变暗,例如:
Dim a as String
For i = 1 to 10
a = "vector_" & i
Dim a() as Double
Next i
所以,在那种特殊情况下,我需要 10 个 Double 变量:vector_1、vector_2、vector_3...当然,代码是错误的。
有简单的方法吗?
谢谢。
您不能在循环中声明变量的名称。变量将在 运行 它们之前被编译,并且 VBA 编译器不适用于循环。
无论如何,你可以考虑创建一个字典并在循环中编写键:
Sub TestMe()
Dim a As String
Dim i As Long
Dim foo As Object
Set foo = CreateObject("Scripting.Dictionary")
For i = 1 To 10
a = "vector_" & i
foo.Add a, i * i
Next i
Debug.Print foo("vector_5") 'prints 25
End Sub