Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1023 / 13644 ツリー ←次へ | 前へ→

【76794】ファイルを開かずに郵便番号検索してコピー さとちぃ 15/3/13(金) 11:04 質問[未読]
【76795】Re:ファイルを開かずに郵便番号検索してコ... β 15/3/13(金) 12:09 発言[未読]
【76796】Re:ファイルを開かずに郵便番号検索してコ... ichinose 15/3/13(金) 19:56 発言[未読]
【76797】Re:ファイルを開かずに郵便番号検索してコ... ichinose 15/3/13(金) 20:23 発言[未読]
【76813】Re:ファイルを開かずに郵便番号検索してコ... さとちぃ 15/3/18(水) 7:46 回答[未読]

【76794】ファイルを開かずに郵便番号検索してコピ...
質問  さとちぃ  - 15/3/13(金) 11:04 -

引用なし
パスワード
   お世話になります。
個人情報入力の工数削減として、郵便番号から自動で住所を入力するマクロを考えてます。

IMEで自動で変換等ありますが、今回、マクロのボタンを押せば一度に変換出来る
ものを目指しております。


(やりたいこと)
個人情報の入力欄に住所の入力項目があり、郵便番号から住所に
自動で変換するマクロを作成

(実現方法)

EXCEL4.0を用いたファイルを開かずに対象のエクセルファイルを検索する。
郵便番号の情報は、日本郵便からダウンロードしたcsvを加工したものを使用。
このファイルが17MBと非常にサイズが大きいため、ファイルを開かずに検索する方法を選択。

個人情報入力.xls

  氏名 部署 所属 郵便番号  県名  住所
1 田中 営業 1課  504-0801
2 
3
4


郵便番号一覧.xls

   A      B    C
1 郵便番号  県名  住所
2 504-0801  岐阜県 美濃加茂市・・・
3 111-0052  北海道 札幌市・・・
4


EXCEL4.0については、インターネットにも情報があるのですが、検索を交えた
サンプルを見つけることが出来ず困っております。

よろしくお願いします。

【76795】Re:ファイルを開かずに郵便番号検索して...
発言  β  - 15/3/13(金) 12:09 -

引用なし
パスワード
   ▼さとちぃ さん:

こんにちは

「ファイルを開かずに」というリクエストは、ちょいちょい目にしますね。

>このファイルが17MBと非常にサイズが大きいため、ファイルを開かずに検索する方法を選択。

たとえ EXCEL4.0マクロを使ったとしても、ファイルはメモリー内に読み込まれています。
(そのはずです)

それが、デスクトップWindow に映し出されているかどうっかだけの違いです。
さらに、EXCEL4.0マクロは機能が限定的で、シート上の様々なものを柔軟に処理するには
かえって面倒で効率も悪いですよ。

1.Application.ScreenUpdating = False にして、通常にひらいて処理
2.あるいは、元々がCSVファイルなら、それこそ、ブックとして開くということではななく
  もっと効率の良い参照ができますので、「加工」も含めて処理してしまうか
  あるいは、この可能したファイルをエクセルブックとしてではなくCSVファイルとして保存しておいて
  それを、CVSファイルとして効率の良い手法で参照。

いずれかがいいと思います。

【76796】Re:ファイルを開かずに郵便番号検索して...
発言  ichinose  - 15/3/13(金) 19:56 -

引用なし
パスワード
   ▼さとちぃ さん:
>マクロのボタンを押せば一度に変換出来る
>ものを目指しております。

簡単な方法は、

>郵便番号一覧.xls

をADO用いて、ブックをDB シートをテーブルに見立てて
検索す方法です。
接続文字列やSQLを調べると、比較的簡単に実現できます。
私が以前試した時、ブックに繋いだ直後の検索だけちょっと時間がかかりましたが、
その次からの検索はサクサク行えました。


もう一つは、日本郵便からダウンロードしたcsvを郵便番号データファイルと
住所ファイルに分けて、VBAで郵便場番号ファイルだけ読み込んで
検索を行う方法です。もちろん、二つのファイルはリンク付けされています。

郵便番号は、昇順に並べられていて、2分探索が使えるようにしておくと、
検索も速く行われます。

ただ、CVSファイルコンバートするコードと運用するコードが必要になります。


ADOで検索する方法を最初に試してみては いかがですか?


>
>   A      B    C
>1 郵便番号  県名  住所
>2 504-0801  岐阜県 美濃加茂市・・・
>3 111-0052  北海道 札幌市・・・
>4
>
>
>EXCEL4.0については、インターネットにも情報があるのですが、検索を交えた
>サンプルを見つけることが出来ず困っております。
>
>よろしくお願いします。

【76797】Re:ファイルを開かずに郵便番号検索して...
発言  ichinose  - 15/3/13(金) 20:23 -

引用なし
パスワード
   アクセスなどを持っているなら、郵便番号データをテーブルとして運用するのが
一番簡単ですが、前投稿は、DBアプリがないという前提です。

【76813】Re:ファイルを開かずに郵便番号検索して...
回答  さとちぃ  - 15/3/18(水) 7:46 -

引用なし
パスワード
   さとちぃです。
ご回答ありがとうございます。
そして、私の不手際でレスポンスが遅くなり申し訳ありません。
今自分で組んでいる途中でして、またそれなりの物が組めましたらご連絡致します。
(案の定、苦戦しております。)
取り急ぎ、ご連絡致します。

1023 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free