VBA Dictionary を忘れない

自分、不器用ですから。

散々、Microsoft EXCELのVBA(マクロ)を使ってるつもりだったけど、まだまだ知らないことが多いよっ!と、日々、思い知らされる。もぉ、体力的に最先端なんて走っていられないって。ひと晩寝れば、忘れちゃうから備忘録。

いやぁ最近、何かひとつやふたつの忘れ物があってさ・・・シクシク。

連想配列って考え方は知ってたけど

普通に配列変数というのは、指標となる整数で値の集まりの何番目!っていうものなんだけど、その指標を「キーワード」にして、結びつけられた値を取り出せるようになるのが、連想配列。ヒントをもとに答えを出す連想ゲームみたいな感じっていう程度の理解。

あら、やだ、VBAでも使えたのね。

CreateObject関数で、Scripting.Dictionaryを呼び出すと、あらVBAでも連想配列ができるんだって。

Dim dicData As Object 
Set dicData = CreateObject("Scripting.Dictionary")

Microsoft EXCEL2007のVBAで、できたもんだから、どんだけ停滞していたのか。

dicDataというオブジェクトに、Scripting.Dictionaryという参照設定を紐づけて、連想配列にしている。

連想配列に値を代入するのはAddでできるらしい。

dicData.Add "りんご",100
dicData.Add "柚子",200
dicData.Add "みかん",50

dicData.Add “キーワード” , 値

これで、dicData.Item(“りんご”)で、100という値が、dicData.Item(“みかん”)で、50って値が取得できる・・・か、簡単すぎる。そして処理速度も速い。な、なんか・・・ズルい(笑)

値には、Classも使えるから、なんかもうね。なんちゅうか。引退したくなるよ。それでも、今さらひとつお利口になった気分。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください