- ベストアンサー
エクセルマクロで2つのブックからデータを抽出する方法
- エクセルマクロを使って、AのブックとBのブックからデータを抽出する方法を教えてください。
- Aのブックには電話番号が1600件、Bのブックには1600件の電話番号と住所などの情報があります。Aのブックにある電話番号のみから、Bのブックからデータを探し、データをコピーして別のブックに抽出したいです。
- オフィスのバージョンは2003で、VBAの知識はほとんどありません。エクセルマクロを使って効率的にデータを抽出できる方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
急いでいるのなら,自分では出来ないマクロなんかで時間を無駄にしてる間に,ご自分の手をちゃっちゃと動かして出来ることでやった方が早く結果を出せます。 手順: リストの1枚目のシートを開く(添付図左) 横に電話一覧のシートも開いておく(添付図右) (ウィンドウメニューの「整列」を使うこと) ここで,双方のシートの電話列の一番上のセルに「必ず同じ記載内容で」 電話番号 と記入しておく。 右のシートのA1をコピーし,左のB1セルに上書きで貼り付けるのが一番正解です。 左のシートでデータメニューのフィルタから「フィルタオプションの設定」を開始する 抽出先は 選択範囲内 リスト範囲 A1:C6などリストの全体範囲 検索条件範囲 [book2.xls]Sheet1!$A$1:$A$4 などのように右のデータ範囲を設定する。 手抜きして列:列指定すると間違えるので,必ずデータのある範囲を指定すること でOKすると,そのシートにあるリストに記載のある電話の行がその場で抽出されるので,普通に選んでコピーして集めるシートに貼り付ける。 次のシートでも同じ手順で同じ電話の行を絞り込み,そのままコピーして集めシートの続きに貼り付ける。 以下同文で7回手を動かせば,完成です。
その他の回答 (2)
- haichicchi
- ベストアンサー率30% (66/214)
VBAに慣れている人なら30分くらいで作れますが、 VBAの知識がほとんど無いのでしたら、ここで教えたところで エラー時の対応などができないから使えないでしょうね。 明日までだったら手作業でやった方が早いです。 今後も同じような作業がありそうだったら、VBAを勉強しておくと いいですよ。
- hana-hana3
- ベストアンサー率31% (4940/15541)
はっきり言って、アクセスに読み込ませて抽出するのがもっともベストで簡単かと思います。 もしくは、VlOOKUPを使って抽出したデータを結合させる。 または、作業列を使って電話番号の一致不一致をチェックして、オートフィルタで抽出してコピー。
お礼
回答ありがとうございます。今回は別の方法で解決しましたが次回からはアクセスなども使ってみようと思います。助かりました。
お礼
上記の方法で無事に作業を終えることができました。正直徹夜も覚悟していただけに大変助かりました。 ありがとうございます!