Excel VBA – VBAでHashMapを実現する方法 その1

  • このエントリーをはてなブックマークに追加

Javaプログラマは、HashMapを活用した人も多いと思います。
VBAでもHashMapってないの?って思いますよね?
それがあるんですよ。

Dictionary オブジェクトというものを使えば
HashMapを実現可能です。

サンプルコードは以下の通りです。

Sub main()
    
    'HashMapオブジェクトの作成
    Dim hashMapObj As Object
    Set hashMapObj = CreateObject("Scripting.Dictionary")

    'HashMapオブジェクトに値を設定
    Call setHashMap(hashMapObj)

    'HashMapから値を取得
    '→「ぶどう」が表示される
    MsgBox hashMapObj.Item(2)

End Sub

'HashMapオブジェクトに値を設定
Sub setHashMap(hashMapObj As Object)

    '引数は括弧で括らないのがコツ
    hashMapObj.Add 1, "みかん"
    hashMapObj.Add 2, "ぶどう"
    hashMapObj.Add 3, "りんご"

End Sub

「add」で格納したい物を格納します。
入れ方は「.Add key,入れたい物」とします。
サンプルコードでは、
「.Add 1, “みかん”」としている箇所です。
(引数は括弧で括らないのがコツです)

取り出すには「Item」を使います。
「.Item(Key)」のように使います。
サンプルコードでは、
「.Item(2)」としている箇所です。

まずはシンプルに、以上で使いこなしてみて下さい。
慣れてくるとこれだけでは足りなくなるので、
次回以降に紹介します。

─────────────── ★
中小企業診断士 かとう
専門は、IT活用による業務改善です。
★───────────────

お勧め:

  • このエントリーをはてなブックマークに追加

関連記事

  1. Excel VBA – CSVファイルをxlsxファ…
  2. Excel VBA – 最終行の取得 その2
  3. Excel VBA – 最終行の取得 その1
  4. Excel VBA – ブックを開く・閉じる(ope…
  5. Excel VBA – 必見!プログラム関数の探し方のコツ
  6. Excel VBA – パスワード付きZIPファイル…
  7. Excel VBA – 2010 2013 マクロの…
  8. Excel VBA – 必見!関数の引数をコンパクト…
PAGE TOP