Excel VBA質問箱 IV

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

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


2033 / 13645 ツリー ←次へ | 前へ→

【70373】2度のフィルタオプション JIRORO 11/11/7(月) 11:26 質問[未読]
【70376】Re:2度のフィルタオプション Jaka 11/11/7(月) 13:53 発言[未読]
【70377】Re:2度のフィルタオプション UO3 11/11/7(月) 14:01 発言[未読]

【70373】2度のフィルタオプション
質問  JIRORO  - 11/11/7(月) 11:26 -

引用なし
パスワード
   いつもお世話になっています。
またよろしくお願いします。

シート1には顧客の個人表があります。
A列に顧客コード、B列に顧客名、C列に居住県名、D列に性別、以下G列まで・・・

シート2には顧客のデータがあり
A列に顧客コード、B列に日付、C列にその日のその顧客の情報、が入力されています。

シート3にデータ抽出用の表があり、
B1に顧客名、C1に居住県名、D1に性別、E1にデータ抽出開始の日付、F1にデータ抽出終了の日付、の見出しが入力されていて、2行目にデータを抽出したい項目を入力するようになっています。

たとえばB2は空欄、C2に埼玉県、D2に女性、F2に10月1日、G2に10月10日と入力すれば
埼玉県の女性の顧客の10月1日〜10日」までの入力情報が得られるようにしたいのです。

今実際自分が作成したマクロだと、まずシート3に入力されたA〜D列までの内容でシート1から適合する顧客コードをフィルタオプションで抽出して(仮に)シート4へ貼り付けます。今度は貼り付けられた顧客コードとシート3に入力された日付でシート2から再度フィルタオプションを使用してデータを抽出してシート5へ貼り付け、加工処理しています。

できていないことはないのですが、著しくスマートさに欠けるような印象ですので皆さんのアドバイスをいただければと思っています。

よろしくお願いします。

【70376】Re:2度のフィルタオプション
発言  Jaka  - 11/11/7(月) 13:53 -

引用なし
パスワード
   こんにちは。
何を基準としてスマートと言うのか解らないけど。
自分で考えたものが1番解り安いかも。
後は、不要なものここはこうすれば1回ですむとかなど、じょじょに簡略していった方が良いなじゃないかと思います。

フィルタオプションを新規に2回やっているようですけど、オートフィルタで第1キー第2キーで絞り込めば1回で終わるような気がします?
フィルタオプションじゃなきゃダメなのかな?

【70377】Re:2度のフィルタオプション
発言  UO3  - 11/11/7(月) 14:01 -

引用なし
パスワード
   ▼JIRORO さん:

こんにちは

>著しくスマートさに欠けるような印象ですので

いえいえ、充分にスマートだと思いますが・・・
できあがりのイメージが不明ですが、おそらくは対象のSheet2のデータ(n)に
Sheet1の当該情報(1)を付加したもの、つまり、出来上がりのリストでは
同じ顧客情報が複数行にでているんだろうと思われます。

別手法ということでしたら、現在の処理で,Sheet1抽出結果経由、Sheet2を抽出された後、
Sheet1の抽出結果を顧客コードでDictionaryにいれておいて、Sheet2をベースに、
顧客コードでDictionaryからデコードということかもしれませんが、それがスマートと
いえるかどうか。

最後の貼付け加工の手作業はなくなると思いますけど。

現在の手作業の前までのコードをアップされると、具体的なアドバイスが寄せられると思います。

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