Excel VBAでハッシュを使う方法のまとめです。 1.はじめに Excel VBAではハッシュテーブル(連想配列)を使うことができます。 で、ネットで検索してもパッとみて分かるようなサンプルがなかったので、できるだけ無駄なものを省いたサンプルを使って本エントリーで説明してみたいと思います。 2.サンプル まずはざっくりしたサンプルから紹介します。 Sub test() Dim obj As Object Set obj = CreateObject("Scripting.Dictionary") obj.Add "foo", 100 obj.Add "bar", 200 obj.Add "hoge", 300 Dim key As Variant For Each key In obj MsgBox obj(key) Next key Set obj = Nothing End Sub
VBAな方には連想配列というのはなじみのない言葉かもしれません。awkにはじまりPerlやJava、ノーツ(LotusScript)でもリストとして実装されているものです。通常の配列の場合は数字をインデックスとして値を格納しますが、連想配列の場合は文字列をインデックスとすることができます。箱を配列とすると値は中身、それぞれの箱に名札(ラベル)を付けることができるので値を取り出すときも感覚的にわかりやすいですよね。それ以外にもメリットがあります。通常の配列の場合あらかじめ領域を確保しておく必要がありますが、連想配列の場合は不要で配列が溢れることを気にする必要がないのです。 Perlでの記述例 $Result{'山田太郎'} = 95; $Result{'鈴木次郎'} = 78; $Result{'田中三郎'} = 83; print $Result{'山田太郎'}; Dictionaryオブ
How can I append a value in a Hash object using a key that already has a value. So for example if I have >> my_hash = Hash.new >> my_hash[:my_key] = "Value1" # then append a value, lets say "Value2" to my hash, using that same key "my_key" # so that it can be >> my_hash[:my_key] => ["Value1", "Value2"] I know its easy to write my own method, but I just wanted to know if there is a built in method.
keys -> [object][permalink][rdoc][edit] 全キーの配列を返します。 例 h1 = { "a" => 100, 2 => ["some"], :c => "c" } p h1.keys #=> ["a", 2, :c] [SEE_ALSO] Hash#values,Hash#to_a
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く