|
▼勉強中です さん:
こんにちは
「対象マスター」シートと「発注商品」シートのJコードを見て、
一致するものを、対象マスターシートから削除し、
次に、対象マスターシートを分類コード順に並び替える、
という処理で良いですか?
良いという前提で回答します。
1.「対象マスター」(表内)に1列挿入します。
例えばA列とB列の間に挿入するとします。
2.B列に式を挿入します。
=IF(ISERROR(VLOOKUP(A2,発注商品!$A$2:$A$65536,1,FALSE)),0,-1)
「発注商品!$A$2:$A$65536」等の行数は、適宜取得して変更してください。
A:Aでも良いですが、取得して範囲を設定したほうが処理速度は速いと思います。
2-補.件数が少ない場合は、このままでも良いですが、件数が多い場合は、
B列の式(VLOOKUP)を外した方が、処理速度はより向上するかと思います。
(コピー→形式を選択して貼り付け→値(→Esc))
3.B列で並べ替えをします。
オリジナルのB列が空白なので、範囲の取得に注意して下さい。
4.SUM(B2:B65536)を求めます。
3で並べ替えをした際の、-1、すなわち削除対象の行数が分かります。
5.対象行を削除します。
6.挿入した列(B列)を削除します。
7.C列(分類コード)で並べ替えをします。
B列(空白?)があるようなので、範囲の取得に注意。
以上のステップでコードを作成すると、現在のものよりは処理速度は上がると思います。
簡単な解説を入れると、1行ずつフィルター/削除していたものを、
削除用フラグを付けて、一度に削除する、という処理にしてみました。
最初の前提が違ったら、ゴミレスです。無視してください。
|
|