Excelの別シートでの検索と抽出について
ExcelファイルでSheet1~5まで部署別の発注データで項目は下記の通りA列~G列まですべて同じになっているものがあります。
A列 B列 C列 D列 E列 F列 G列
注文番号 商品名 納品日 納品先 発注額 消費税 合計額
別シート(Sheet6)に「商品名」や「納品先」で検索する項目を作成し、その結果を表示できるようにしたいのですが何か良い方法はないでしょうか?
マクロ・VBAでの作成方法もあればお願いします。
Excelのバージョンは2010です。
並べ替えとフィルター → 詳細設定 → フィルタオプションの設定 で試してみましたが、検索する商品名(納品場所)を変更してしまうと抽出されませんでした。
宜しくお願いします。
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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
列方向、行方向の定義
-
「段」と「行」の違いがよくわ...
-
エクセルのソートで、数字より...
-
エクセル マクロ 範囲指定で...
-
エクセルで離れた列を選択して...
-
VBA 指定した列にある日時デー...
-
【マクロ】【VBA】条件付き書式...
-
Excel文字列一括変換
-
VBAで結合セルを転記する法を教...
-
エクセル 1つのシートを日付で...
-
LEFT関数とIF関数の組み合わせ...
-
Excel 2007で複合グラフ(折線...
-
エクセル マクロ 範囲の値を上...
-
csvデータの列の入れ替えができ...
-
エクセル 重複 隣の列 一番...
-
エクセル重複行統合マクロの意味
-
エクセルで最初の行や列を開け...
-
アクセス 取り込み時に、桁数(...
-
エクセルVBAでデータ最終行取得...
-
リストからデータを紐付けしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
LEFT関数とIF関数の組み合わせ...
-
Excelの行数、列数を増やしたい...
-
列方向、行方向の定義
-
VBA 指定した列にある日時デー...
-
エクセルマクロPrivate Subを複...
-
Excel文字列一括変換
-
エクセル マクロ 範囲指定で...
-
Alt+Shift+↑を一括で行うには、...
-
CSVファイルの「0落ち」にVBA
-
VBAで結合セルを転記する法を教...
-
エクセルで複数列の検索をマク...
-
リストからデータを紐付けしたい
-
横軸を日付・時間とするグラフ化
-
エクセルで最初の行や列を開け...
-
エクセルのソートで、数字より...
-
エクセルマクロの組み方
-
☆Excel VBAでAVERAGE関数を使う...
おすすめ情報