• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのデータ検索&抽出作成について)

エクセルのデータ検索&抽出作成について

このQ&Aのポイント
  • Excelの別シートでの検索と抽出について
  • ExcelファイルでSheet1~5まで部署別の発注データで項目は下記の通りA列~G列まですべて同じになっているものがあります。別シート(Sheet6)に「商品名」や「納品先」で検索する項目を作成し、その結果を表示できるようにしたいのですが何か良い方法はないでしょうか?
  • Excelのバージョンは2010です。並べ替えとフィルター → 詳細設定 → フィルタオプションの設定 で試してみましたが、検索する商品名(納品場所)を変更してしまうと抽出されませんでした。

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

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

こんにちは! VBAでの一例です。 Sheet6は画像通りに配置になっていて、 Sheet1~Sheet5は1行目が項目行で2行目以降にデータがあるとします。 Alt+F11 → メニュー → 挿入 → 標準モジュール → VBE画面に ↓のコードをコピー&ペースト → Excel画面に戻りマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim k As Long, endRow As Long, wS6 As Worksheet Set wS6 = Worksheets("Sheet6") '←Sheet6は実際のSheet名に! endRow = wS6.Cells(Rows.Count, "A").End(xlUp).Row If endRow > 9 Then Range(wS6.Cells(10, "A"), wS6.Cells(endRow, "G")).ClearContents End If For k = 1 To 5 With Worksheets(k) .Range("A1").AutoFilter field:=2, Criteria1:=wS6.Range("B2") .Range("A1").AutoFilter field:=4, Criteria1:=wS6.Range("B4") endRow = .Cells(Rows.Count, "A").End(xlUp).Row If endRow > 1 Then Range(.Cells(2, "A"), .Cells(endRow, "G")).SpecialCells(xlCellTypeVisible).Copy wS6.Cells(Rows.Count, "A").End(xlUp).Offset(1) End If End With Worksheets(k).AutoFilterMode = False Next k End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

cheeky82
質問者

お礼

ありがとうございました!大変助かりました。

関連するQ&A

専門家に質問してみよう