• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2003で2つのファイルデータを自動的にひとつにする方法)

Excel2003で2つのファイルデータを自動的にひとつにする方法

このQ&Aのポイント
  • Excel2003で2つのファイルデータを自動的にひとつにする方法について教えてください。
  • ファイルAとファイルBに同じ名前のデータがあります。ファイルAの名前を参照して、ファイルBの該当する行のデータを自動でコピーする方法を教えてください。
  • Excel2003を使用して、ファイルAの名前を参照してファイルBの該当する行のデータを自動でコピーする方法を教えてください。アクセスを使用する方法も教えてください。

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

  • ベストアンサー
  • x0000x
  • ベストアンサー率52% (67/127)
回答No.1

こんばんは。 こんな感じで同でしょうか? ファイルAのA2から名前を格納。⇒Annnまで ファイルBのファイル名を"book2.xls"としています。(適当に置き換えてください) ファイルBは、ファイルAと同じフォルダーに格納されているか、予めOPENしてから以下のマクロを実行します。 ファイルAのA列の名前がファイルBのAB列~AP列で最初に発見した行をファイルAのDQ列以降にCOPYしています。 Sub findJoin() On Error GoTo err Dim st1 As Worksheet Dim st2 As Worksheet Set st1 = ActiveSheet Workbooks.Open ("BOOK2.xls") Set st2 = Workbooks("book2.xls").Sheets(1) Dim st1MaxRow As Long Dim st2Maxrow As Long st1MaxRow = st1.Cells(st1.Rows.Count, "A").End(xlUp).row st2Maxrow = st2.Cells(st2.Rows.Count, "AB").End(xlUp).row Dim R As Long For R = 2 To st1MaxRow Dim nmRng As Range Set nmRng = st2.Range("AB2:AP" & st2Maxrow).Find(st1.Cells(R, "A").Value, LookIn:=xlValues) If Not nmRng Is Nothing Then '発見した。 st2.Range("AB" & nmRng.row & ":AP" & nmRng.row).Copy Destination:=st1.Range("DQ" & R) End If Next st1.Activate Set st1 = Nothing Set st2 = Nothing Exit Sub err: MsgBox Error End Sub お試し下さい!!

aisu_san3
質問者

お礼

ありがとうございます。 上のマクロで大体やりたいことができました。 下のようにABをAに直したら思ったとおりのものになりました。 st2.Range("A" & nmRng.row & ":AP" & nmRng.row).Copy Destination:=st1.Range("DQ" & R) お返事が遅くなり申し訳ありませんでした。 また何かありましたらよろしくお願いいたします。

関連するQ&A