• ベストアンサー

VBAを使って「指定した項目の列順に取り込み

画像の様にBook1とBook2があります。 Book2のデータをBook1に取り込みたいです。 Book1の画像は、取り込んだ結果を表示しています。 取込の条件ですが、Book2の1行目の見出し名をBook1の1行目の見出し名が 一致した列の場所に取込みできる様にしたいです。 2行目から最終行まで取り込む。 Book1・Book2の見出し名の列は、順不同で変わる時があるので 変わった時にも対応ができる様にしたいと思います。 この様なVBAコードを教えて頂きたいと思います。 お手数ですが宜しくお願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.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

awmori
質問者

お礼

回答ありがとうございます。希望した動作です。 これから作成して頂きましたVBAコードを、いろいろ試して解読したいと考えています。 もし・・・コード内容について分からない事がありましたら補足にて質問したいと思いますので宜しくお願いします。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

・『複数のワークシートのデータを統合する』の『項目による統合を行う』 http://office.microsoft.com/ja-jp/excel-help/HP010095249.aspx#BMconsolidate_by_category 上記を使えば可能だと思います。 設定をマクロの記録で登録すればいいでしょう。

awmori
質問者

お礼

回答ありがとうございます。

関連するQ&A