Excel VBAにおいて、配列をもったDictionaryオブジェクトの計算方法をご教授いただけませんでしょうか。。 もともとの目的としては、重複するデータの合算です。

Visual Basic | Excel95閲覧xmlns="http://www.w3.org/2000/svg">250

ベストアンサー

0

ご回答ありがとうございます! いただいたコードを参考に修正すると、無事数字出力することができました! 助かりました!本当にありがとうございます!!

ThanksImg質問者からのお礼コメント

ご回答ありがとうございました! ベストアンサーはすごく迷ったのですが、、よりシンプルなコードを教えてくださった方を選ばせていただきました。 お二方大変丁寧に教えてくださり、本当にありがとうございました!!

お礼日時:9/17 19:07

その他の回答(1件)

0

Sub Example() '配列の値をセット Dim inputArray(2) inputArray(0) = 1 inputArray(1) = 2 inputArray(2) = 3 Dim dic As Object: Set dic = CreateObject("Scripting.Dictionary") '配列を辞書にAdd dic.Add "key", inputArray '今の状態 Debug.Print dic("key")(0) Debug.Print dic("key")(1) Debug.Print dic("key")(2) '配列の値をいったん取り出す Dim tempArray(2) tempArray(0) = dic("key")(0) tempArray(1) = dic("key")(1) tempArray(2) = dic("key")(2) '配列の値を変更 tempArray(0) = tempArray(0) + 1 tempArray(1) = tempArray(1) + 1 tempArray(2) = tempArray(2) + 1 '配列を入れ直す dic("key") = tempArray '結果 Debug.Print dic("key")(0) Debug.Print dic("key")(1) Debug.Print dic("key")(2) End Sub

嘘みたいな話ですが、VBAのDictionaryでは配列の値を変更することができません。 いったん、別の配列にコピーしておき、値を変更したうえで、その配列をDictionaryに戻す必要があります。