ここから本文です

マクロやVBAを使用し、品番を指定してエクセルファイル内の一致する行を別のファイ...

job********さん

2018/1/1213:16:21

マクロやVBAを使用し、品番を指定してエクセルファイル内の一致する行を別のファイルへ抜き取りたいのですがいい方法はありますでしょうか。

検索したい品番は約1000個あり、エクセルファイルも大量かつ1ファイルのデータ行も8万行くらいあります。
1つ1つ検索するのに時間がかかり困っています。
品番には数字と英字が混合しており、英字は大文字小文字も含まれます。

希望としては、1000個の品番を同時に検索し、大量のエクセルファイルから該当した行のみ新しいエクセルファイルへ抽出したいのです。
抽出したデータは1つのエクセルファイルへまとめられたら大変助かります。
列数はそれぞれのエクセルファイルで多少相違があるため、指定なしでできたらお願い致します。

補足列数の件で補足します。
X列までは項目があっていているのですが、Y、Z列に追加で情報が記載されている場合があるため、「指定なし」でと質問致しました。
わかりづらくて申し訳ありません。
最大でもZ列までしか情報載っていないので、Z列まででお願い致します。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
106
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tra********さん

リクエストマッチ

2018/1/1213:30:14

最高速なのは、
フィルター詳細(フィルターオプション)
http://www4.synapse.ne.jp/yone/excel2010/excel2010_filter21.html
https://www.forguncy.com/blog/20170714_filteroption
の機能を使うのでしょうね。

マクロ記録を下敷きにすれば、ロジックを考えることなしで書けます。

  • 質問者

    job********さん

    2018/1/1213:49:51

    回答いただきありがとうございます。
    フィルターとマクロ記録も検討しましたが、検索する品番が大量なのと、その品番の該当データを検索するエクセルファイルも大量にあるため、できたら1つ1つエクセルファイルを開かずに検索したいのです。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

otu********さん

2018/1/1310:14:41

フィルター用の配列を作るのが分かりにくいかもですね。
やってみた。
3列目に品番があったとして、2行目から1000行目を検索用の品番の代用でしてます。
重複は問題ないようです。



Sub マクロ()
Dim c, ra As Range

'フィルター用の配列作成
For Each ra In Range("C2:C1000")
c = c & ra.Value & ","
Next
c = Split(Left(c, Len(c) - 1), ",")

'フィルターをかけて新規ブックにコピー
With ActiveSheet
.UsedRange.AutoFilter Field:=3, Criteria1:=c, Operator:=xlFilterValues
.UsedRange.SpecialCells(xlCellTypeVisible).Copy
Workbooks.Add
ActiveSheet.Paste
.AutoFilterMode = False
End With
Application.CutCopyMode = False
End Sub

a_h********さん

2018/1/1213:23:55

>列数はそれぞれのエクセルファイルで多少相違があるため、指定なしでできたらお願い致します。
抽出して並べた時に、項目の位置が揃わなければ意味がありませんよ。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

気持ちをこめた差し入れを、あの人に

みんなのアンテナ

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる