• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAにて Dictionaryを使いまわしたい)

VBAでDictionaryを使いまわす方法とは?

このQ&Aのポイント
  • VBAでDictionaryオブジェクトを使いまわすことは可能でしょうか?
  • Subデータ()の関数化による辞書への都度の登録作業を避ける方法を知りたいです。
  • AさんとBさんの買い物合計を計算する際に、Dictionaryの値を使いまわしたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

その1) マクロを書くときは、変数の宣言を必ず行う癖をつけましょう。 そうすることで、「この変数を他のマクロで使うにはどうしたらいいのか」という具合に発想が広がります。 その2) 「50円」だの「100円」だのでは、足し算は(原則)できません。 数字は数値でデータを持たせるように、習慣づけましょう。 標準モジュール: dim myDic as Object Sub データ() Set myDic = CreateObject("Scripting.Dictionary") myDic.Add "菊", 50 myDic.Add "バラ", 100 myDic.Add "ひまわり", 100 End Sub Sub Aさんの買い物合計() dim 合計 as double 合計=myDic.Item("菊")+myDic.Item("ひまわり") msgbox 合計 & "円" End Sub Sub Bさんの買い物合計() dim 合計 as double 合計=myDic.Item("バラ")+myDic.Item("ひまわり") msgbox 合計 & "円" End Sub 手順: 1.データを実行する 2.買い物合計を実行する。

VitaminBB
質問者

お礼

回答ありがとうございます。

その他の回答 (1)

  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

myDicをPublicかPrivateで宣言すればいいだけの話ではないでしょうか? そのモジュールの先頭に以下のように記述してみてください。 Public myDic As Object

参考URL:
http://officetanaka.net/excel/vba/variable/05.htm
VitaminBB
質問者

お礼

回答ありがとうございます。