Dictionary(VBA)

月次のデータを顧客のDBに当てて、住所や顧客名を引くコードを書いている。 月次の件数が5万件、顧客DBが9万件強。 ExcelのシートでFor分を使って回すと埒が明かないので、一旦メモリ(2次元配列)に突っ込んで回してみたんだけど、やっぱり8分強かかってしまう。 8分でも流石に長いので、なんかいい方法はないかとネットをググっていたら、Dictionaryと云うのを見つけた。 所謂、連想配列ってやつ。 VBAで使えるのは、知らなかった。 早速、キーと値はDBのシートの行番号をDictionaryに突っ込んで実行してみた。 いままでは、For文で9万行のなかからキーを探さないといけなかったのが、Dictionaryはキーを与えれば即座にValue(値・ここではDBシートの行番号)がかえってくる。 通しで実行してみると、14秒で出力できた。 すばらしい。 いままでも同じようなコードは書いてきたけど、ここまで件数が多いことはなかったのでFor文で回していたのだけど、この方法はいいなあ。 これからは、Dictionaryを使うことにしよう。
--
はれ のち くもり いちじ あめ

No comments: