- ベストアンサー
VBAを使って「指定した項目の列順に取り込み
画像の様にBook1とBook2があります。 Book2のデータをBook1に取り込みたいです。 Book1の画像は、取り込んだ結果を表示しています。 取込の条件ですが、Book2の1行目の見出し名をBook1の1行目の見出し名が 一致した列の場所に取込みできる様にしたいです。 2行目から最終行まで取り込む。 Book1・Book2の見出し名の列は、順不同で変わる時があるので 変わった時にも対応ができる様にしたいと思います。 この様なVBAコードを教えて頂きたいと思います。 お手数ですが宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>見出し名が一致した列の場所に取込みできる様にしたい sub macro1() dim ws1 as worksheet dim ws2 as worksheet dim h as range dim c as range ’各ブックは事前に開いておく事 ’各ブックの拡張子、シート名を正確に記載する事 set ws1 = workbooks("Book1.xlsm").worksheets("Sheet1") set ws2 = workbooks("Book2.xlsm").worksheets("Sheet1") with ws1 for each h in .range(.range("A1"), .range("IV1").end(xltoleft)) set c = ws2.range("1:1").find(what:=h.value, lookin:=xlvalues, lookat:=xlwhole) if not c is nothing then c.entirecolumn.copy h end if next end with end sub
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
・『複数のワークシートのデータを統合する』の『項目による統合を行う』 http://office.microsoft.com/ja-jp/excel-help/HP010095249.aspx#BMconsolidate_by_category 上記を使えば可能だと思います。 設定をマクロの記録で登録すればいいでしょう。
お礼
回答ありがとうございます。
お礼
回答ありがとうございます。希望した動作です。 これから作成して頂きましたVBAコードを、いろいろ試して解読したいと考えています。 もし・・・コード内容について分からない事がありましたら補足にて質問したいと思いますので宜しくお願いします。