• ベストアンサー

エクセルのマクロで2つの表を比較してデータ抽出

初めて質問をさせていただきます。 エクセル(2007)を使用しています。 2つの表(A表・B表)を比較して、A表に存在しないコードをB表から探してA表の下に追記していくような マクロを作成したいのですが、なかなかうまくいきません。 どなたかご教授頂けないでしょうか。 よろしくお願い致します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 色んなコードの記述方法があると思いますが、一例です。 A表・B表とも列項目は同じ配列で、1行目は項目行・2行目からデータがあるとします。 ↓の画像のようにSheet1にA表・Sheet2にB表があるとします。 ※ 「コード」の列はD列としています。 標準モジュールにコピー&ペーストしてマクロを試してみてください。 Sub test() Dim i, j As Long Dim ws1, ws2 As Worksheet Set ws1 = Worksheets("sheet1") Set ws2 = Worksheets("sheet2") j = ws1.Cells(1, Columns.Count).End(xlToLeft).Column Application.ScreenUpdating = False For i = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountIf(ws1.Columns(4), ws2.Cells(i, 4)) = 0 Then Range(ws2.Cells(i, 1), ws2.Cells(i, j)).Copy ws1.Select ws1.Cells(Rows.Count, 1).End(xlUp).Offset(1).Select ActiveSheet.Paste End If Next i Application.ScreenUpdating = True ws1.Cells(Rows.Count, 1).End(xlUp).Offset(1).Select End Sub こんな感じではどうでしょうか?m(_ _)m

720858
質問者

お礼

ありがとうございます。 頂いたマクロを参考にして解決出来そうです。 今後ともよろしくお願い致します。(*^_^*)

関連するQ&A