我有一个名为MaxChart
的整数变量,它的值已经是1024.现在我想用一个名字为MaxChart
的字符串变量调用这个值,并给它赋一个新值。
我该如何解决这个问题?
For i = 1 To 20
A = "MaxChart"& Cstr(i)
Next i
然后使用A
作为变量的名称并为其指定一个新值!
此功能存在MATLAB
,名称为assignin
:
http://de.mathworks.com/help/matlab/ref/assignin.html
我不知道如何在VBA中使用它?
答案 0 :(得分:1)
在VBA中无法在运行时分配变量名称。如果你真的需要使用这些变量名,你可以使用字典。
首先,您必须引用Microsoft Scripting Runtime: “Extras - References”=>检查“Microsoft Scripting Runtime”。
之后你可以使用字典并引用这样的键:
Sub Main()
Set MaxChartDict = CreateObject("Scripting.Dictionary")
'Create the entries with the appropriate keyname => change the second "i"
'to whatever value you would like
For i = 1 To 20
MaxChartDict.Add "MaxChart" & i, i
Next
'Get the values for the key "MaxChart3" and "MaxChart14"
MsgBox (MaxChartDict("MaxChart3"))
MsgBox (MaxChartDict("MaxChart14"))
'Change the value for key "MaxChart3"
MaxChartDict("MaxChart3") = "foobar"
MsgBox (MaxChartDict("MaxChart3"))
Set MaxChartDict = Nothing
End Sub