Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA-设置字典,并将其转换为字符串,例如EVAL_Vba_Excel - Fatal编程技术网

VBA-设置字典,并将其转换为字符串,例如EVAL

VBA-设置字典,并将其转换为字符串,例如EVAL,vba,excel,Vba,Excel,你好,友好又好的人。我的想法如下——我有一个字典字典,我想设置一个循环,而不是单独设置。知道怎么做吗 到目前为止,我有这样的想法: Public Sub mains() Dim my_dict As Object Dim d1 As Object Dim d2 As Object Dim d3 As Object Dim d4 As Object Dim d5

你好,友好又好的人。我的想法如下——我有一个字典字典,我想设置一个循环,而不是单独设置。知道怎么做吗

到目前为止,我有这样的想法:

Public Sub mains()

    Dim my_dict     As Object
    Dim d1          As Object
    Dim d2          As Object
    Dim d3          As Object
    Dim d4          As Object
    Dim d5          As Object
    Dim d6          As Object
    Dim d7          As Object
    Dim d8          As Object
    Dim i           As Long

    Set my_dict = CreateObject("Scripting.dictionary")

    For i = 1 To 8
        set cstr(d & i) = createobject("scripting.dictionary")
    Next i

End Sub

在VBA中是否可行?set cstr(“d”&i)当然会给出一个错误,但我想要类似的东西,而不是逐个设置字典。

您不能以编程方式构造变量名。改用数组

Dim dicts(8) As Variant
For i = 0 To 7
    Set dicts(i) = New Dictionary
Next i
或者,由于您的目标是构建词典词典,您可以直接执行以下操作:

Dim dict as new Dictionary, tmp as Dictionary
For i = 0 to 7
    Set tmp = new Dictionary
    dict.add "d" & i + 1, tmp
next i

是的,看起来这就是我要用的。但我希望有一个cstr()替代品或类似的东西。