• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル マクロ)

Excelマクロでシート3にデータを抽出する方法

このQ&Aのポイント
  • Excelのマクロを使用して、シート1およびシート2からデータを抽出し、シート3に貼り付ける方法について教えてください。
  • 現在、オートフィルタを使用してデータを抽出し、範囲をコピーしてシート3に貼り付ける方法を使用していますが、より効率的な方法(VBA)があれば教えてください。
  • シート1とシート2のデータを抽出するために、Excelのマクロを使用してシート3にデータを自動的にコピーする方法を教えてください。

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

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

こんばんは! 各Sheetとも1行目はタイトル行で、データは2行目以降にある(表示する)とします。 一例です。 Alt+F11キー → 画面左側の「This Workbook」をダブルクリック → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() Dim i As Long, k As Long Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet Set ws1 = Worksheets("Sheet1") Set ws2 = Worksheets("Sheet2") Set ws3 = Worksheets("Sheet3") k = ws3.Cells(Rows.Count, 1).End(xlUp).Row If k > 1 Then Range(ws3.Cells(2, 1), ws3.Cells(k, 5)).ClearContents End If For k = 2 To ws2.Cells(Rows.Count, 1).End(xlUp).Row ws1.Columns("A:D").AutoFilter field:=1, Criteria1:=ws2.Cells(k, 1) i = ws1.Cells(Rows.Count, 1).End(xlUp).Row If i > 1 Then Range(ws1.Cells(2, 1), ws1.Cells(i, 5)).Copy Destination:= _ ws3.Cells(Rows.Count, 1).End(xlUp).Offset(1) End If Next k ws1.Select Selection.AutoFilter End Sub こんな感じではどうでしょうか?m(_ _)m

bigjapan8
質問者

お礼

素早い回答ありがとうございます。 出来ました。 しかも、わかりやすい回答で、素晴らしいです。 本当に感謝します。

関連するQ&A

専門家に質問してみよう