- 締切済み
エクセル VBA でVLOOKUPにて不特定数の行の抽出を繰り返す。
エクセルVBAについて教えてください。 工場の品種ごとの使用材料の計算を作っているのですが、 各品番のリストがあり5桁の品番コードをキーにしてそれに使用されている材料を別リスト(別なシートにある)から抽出しリストを作成したいです。使用されている材料は5~10種と抽出する、列が不特定数あるのので、関数だとかっこ悪くなってしまいそうなのでVBAにチャレンジしたいのですが。可能でしょうか。 品番コード 83764→ 83764に使用されている行を5行抽出 82727→ 82727に使用されている行を8行抽出 25124→ 25124に使用されている行を11行抽出。 必ず同じ行数あるわけではないので83764に使用されている材料を5行抽出した後に空欄まで下に移動して次の82727に使用されている行を8行抽出というようにしたいのですが。 不備後不明な点あればお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- n-jun
- ベストアンサー率33% (959/2873)
オートフィルタの抽出条件を順次変更しながら、抽出されたデータを取得しどこかに貼り付けていけばいいような??? とは違うのかな。
- imogasi
- ベストアンサー率27% (4737/17070)
>空欄まで下に移動して次の82727に使用されている行 下行へ下行へ追加指定期待ということでしょう。 その行はD列とすると Sub test01() Range("D65536").End(xlUp).Offset(1, 0) = "A" End Sub をやってみればわかる。1回分である。毎回このコードを実行する。Aの部分(=の右辺)はもちろん毎回変わる。 ーーー この質問は質問文は長いほうだが、具体的にシート、行、列を特定したデータ例を挙げてないので回答を具体的にしにくい。 そこまで回答者に推定で作らせないでほしい。 >5桁の品番コード は都度1つだけ入力するのか。 >材料を別リスト(別なシートにある 別シートのデータ状況(列と該当行がわかる少数例)を挙げること。 材料データのシートは1つか、材料ごとか。 ーーー VLOOKUPは該当の最初の行しか拾えない。順次使うためには工夫が要る が、コードは出来たのか。 ==== 複数行検索はVLOOKUPをつかうのは、少数派かな。 全行初めから終わりまで探すのは処理時間的にどうかな。ロジックは易しい。
補足
具体的にどのように行うのでしょうか。 マクロに記録するという意味でしょうか。 最初の品番コードは一度にまとめて数十種入れておき、 一括で各品番に使用の材料を出すことはかのうですか? ご教授ください。