2016-04-25 8 views
1

こんにちはフレンドリーで素敵な人たち。アイデアは次のとおりです。辞書の辞書が1つあります。ループごとに個別に設定する必要はありません。どのようにそれを行うにはどのようなアイデア?VBA - 文字列に変換する辞書を設定します。 EVAL

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)はもちろん誤りですが、私は何か似たようなものを使い、辞書を一つずつセットしないようにします。

答えて

2

プログラムで変数名を構成することはできません。代わりに配列を使用してください。また

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 
+0

をうん、それはそうです。しかし、私はcstr()の代替案やそれに類するものを期待していました。 – Vityata

関連する問題