|
商品分類 商品 品番 得意先 数量
LLL ** **** ****** *
MMM ** **** ****** *
SSS ** **** ****** *
・
・
・
・
というようなDBがあります。(ちなみに約20000件のレコード)
このDBから、商品分類をキーにしてフィルタで抽出し
結果を、元DBのあるxls.ブックの別シートに貼りつけ、シート名は
抽出キーである商品分類にするというマクロを実行したいのですが・・・。
●抽出キーのあるフィールドは常に○列目とは限りません。
●また、分類も今回の例の様に毎回LLLとMMMとSSSとは
限りません。
↓の様に書いてみたのですが、問題があります。
1.毎回抽出キーが違うので替わるたびにシート名もマクロの中で
書き換える必要がある。商品分類の数は数十種類。
2.あらかじめ、商品分類の名前でシートを用意しておくのが手間。
3.下の記述を見ても分かるが、同じような記述を繰り返しているが
もっとスマートにしたい。
どなたかよいお知恵があれば教えてください。
よろしくお願いします。
Sub 抽出_商品分類()
With Worksheets("受注DB").Range("A1")
.AutoFilter Field:=4, Criteria1:="LLL"
.CurrentRegion.SpecialCells(xlVisible).Copy Worksheets("LLL").Range("A1")
.AutoFilter
End With
Worksheets("LLL").Activate
With Worksheets("受注DB").Range("A1")
.AutoFilter Field:=4, Criteria1:="MMM"
.CurrentRegion.SpecialCells(xlVisible).Copy Worksheets("MMM").Range("A1")
.AutoFilter
End With
Worksheets("MMM").Activate
With Worksheets("受注DB").Range("A1")
.AutoFilter Field:=4, Criteria1:="SSS"
.CurrentRegion.SpecialCells(xlVisible).Copy Worksheets("SSS").Range("A1")
.AutoFilter
End With
Worksheets("SSS").Activate
End Sub
|
|