早上好。 是否可以使用文本和其他变量的组合命名变量? 仅用于示例(不起作用):
Components = "AA,BB,CC"
Values = "101,102,103"
ComponentsArr = Split(Components)
ValuesArr = Split(Values)
For i = 1 To UBound(ComponentsArr)
Let "Var" & ComponentsArr(i) = ValuesArr(i)
Next i
答案 0 :(得分:1)
您可以使用dictionary来完成目的。您将键/值对添加到字典中。然后你可以使用密钥来获得价值。
设置对MS Scripting运行时的引用('Microsoft Scripting Runtime')
Components = "AA,BB,CC"
Values = "101,102,103"
ComponentsArr = Split(Components, ",")
ValuesArr = Split(Values, ",")
Dim dict As New Scripting.Dictionary
For i = LBound(ComponentsArr) To UBound(ComponentsArr)
Call dict.Add(ComponentsArr(i), ValuesArr(i))
Next i
If dict.Exists("AA") Then
Debug.Print dict.Item("AA") 'prints 101
End If
答案 1 :(得分:1)
可能更容易做到如下:
Components = Array("AA", "BB", "CC")
Values = Array("101", "102", "103")
那么你就不需要ComponentsArr和ValuesArr。
For i = LBound(Components) To UBound(Components)
dict.Add(Components(i), Values(i))
Next i