Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


39053 / 76737 ←次へ | 前へ→

【42805】抽出結果を別シートに保存
質問  トホホ  - 06/9/22(金) 13:08 -

引用なし
パスワード
   商品分類 商品 品番 得意先 数量
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

0 hits

【42805】抽出結果を別シートに保存 トホホ 06/9/22(金) 13:08 質問
【42806】Re:抽出結果を別シートに保存 ハチ 06/9/22(金) 14:49 回答
【42906】Re:抽出結果を別シートに保存 トホホ 06/9/25(月) 10:41 質問
【42907】Re:抽出結果を別シートに保存 ハチ 06/9/25(月) 11:00 発言
【42911】Re:抽出結果を別シートに保存 トホホ 06/9/25(月) 12:30 質問
【42913】Re:抽出結果を別シートに保存 トホホ 06/9/25(月) 12:47 発言
【42916】Re:抽出結果を別シートに保存 ハチ 06/9/25(月) 13:18 発言
【42917】Re:抽出結果を別シートに保存 トホホ 06/9/25(月) 13:25 発言
【42924】Re:抽出結果を別シートに保存 トホホ 06/9/25(月) 14:22 お礼
【42833】Re:抽出結果を別シートに保存 Hirofumi 06/9/23(土) 0:41 回答

39053 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free