[[20161204160746]] 『別シートへのデータ抽出VBAについて』(切羽) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『別シートへのデータ抽出VBAについて』(切羽)

データベースとなるシート(日付、担当、クライアント・・など)から 
・日付ごとに抽出するシート 
・担当ごと&月ごとに抽出するシート 
・クライアント&月ごとに抽出するシート 

の3枚のシートにマクロを組みたいのですが、 
マクロの勉強を始めたばかりで、思うように動作させることができません。 
 
厚かましい質問で大変恐縮なのですが、 
急ぎで仕上げないと困難な状況のため、ご教示いただけると幸いです。 
説明がうまくできていないので、スクリーンショットのURLです↓。  
http://www.dotup.org/uploda/www.dotup.org1081517.png.html

< 使用 Excel:Excel2016、使用 OS:Windows8 >


シート分けないで、データシートでオートフィルタを使って
各条件で絞り込むだけではだめなのでしょうか

(マナ) 2016/12/04(日) 16:40


早速のコメントありがとうございます! 
 
おっしゃる通り、オートフィルタを使用していました。 
しかし、担当の項目が増えすぎて、選択肢が多くて選ぶ際に  
大変になってきたので、担当者名を入力して表示させる形式に変える 
方針に切り替える運びとなりました。 
 
説明不足で申し訳ないです。 

(切羽) 2016/12/04(日) 17:12


>担当の項目が増えすぎて、選択肢が多くて選ぶ際に  
>大変になってきたので、担当者名を入力して表示させる形式

オートフィルタで、担当者名を入力して絞り込むのと何が違うのでしょうか?

(マナ) 2016/12/04(日) 17:32


 フィルターオプションを使いました。

 アップされたイメージ、列が少し読み取れないところがありましたが
 抽出用各シートも集計シートと同じく、C列〜N列 と解釈しています。
 (タイトル行は、集計シートが1行目ですが、抽出用シートは4行目)

 ボタン起動ですから、抽出用シートはアクティブシートという前提です。
 各抽出用シートのタイトル行は記入済みという前提。 O1:O2 を作業域(抽出条件領域)につかいます。

 以下のマクロを、それぞれのシートのボタンに登録してください。
 実際の処理は、共通プロシジャの 抽出 でやっています。

 Sub 担当者抽出()
    抽出 "=AND(集計!E2=$B$1,MONTH(集計!C2)=$F$1)"
 End Sub

 Sub 日付ごと抽出()
    抽出 "=集計!C2=DATE($A$2,$C$2,$E$2)"
 End Sub

 Sub クライアント抽出()
    抽出 "=AND(集計!F2=$B$2,MONTH(集計!C2)=$G$2)"
 End Sub

 Private Sub 抽出(fm As String)
    Range("O1").ClearContents
    Range("O2").Formula = fm
    Sheets("集計").Columns("C:N").AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("O1:O2"), CopyToRange:=Range("C4:N4"), Unique:=False
    Range("O2").ClearContents
 End Sub

(β) 2016/12/04(日) 17:45


>マナさま
確かにそうですね。 
馬鹿な質問をしてしまって申し訳ないです。 
ありがとうございます。 
 
>βさま 
うまくいきました!解説もわかりやすくて勉強になりました。 
ありがとうございます。 
  
 
エクセルを使いこなせるよう、引き続き勉強していきたいです。 
(切羽) 2016/12/04(日) 18:01

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.