プロが教えるわが家の防犯対策術!

エクセルのフィルターを複数シートに連動させたいです。
エクセルファイルに15シートあります。
そのうち12シートは売上一覧表が1月から12月まで1シートずつ分かれています。
(同じフォーマットです)
項目は品名や金額などでフィルター設定しています。
例えば1月のシートで品名を「テレビ」でフィルタをかけた場合、2月から12月のシートも連動して「テレビ」でフィルタがかかるようにすることは可能でしょうか?

A 回答 (2件)

こんばんは。



一般機能で、複数のシートのフィルターを連動させる事はできないですね。
マクロで処理しようとしても、フィルターで項目を変更しても、普通には
イベントが発生しないので、対応がかなり面倒になるかと思います。

フィルターを掛けるセルを選択した時に、ユーザーフォームを表示させ、
そこで選んだ項目で、全シートへフィルターを掛けるとかでしょうか?


例えば、下記の様な、マクロを組み合わせて作成とかでしょうか?
(下記、参考になりそうな記事を検索しただけですが。)

●特定のセルを選択した場合にユーザーフォームを表示したい
https://okwave.jp/qa/q4238100.html

●ユーザーフォームのリストボックスを使ってみよう!
https://tonari-it.com/excel-vba-userform-llistbox/

●オートフィルタを使い倒す
http://officetanaka.net/excel/vba/tips/tips155.htm

●全てのシートをループして処理する方法
https://bayashita.com/p/entry/show/114
    • good
    • 0
この回答へのお礼

おはようございます。
わかりやすくまとめていただきありがとうございます。
組み合わせて試してみようと思います。

お礼日時:2022/05/02 06:25

こんばんは



直接の回答ではありません。

削除しちゃったようですが、前回の質問と同じ趣旨なら、項目数や1シート内のデータ数にもよりますけれど、フィルタ操作だけを簡単にしても、大した省力化になるとも思えません。
想像するところ、項目別シートを作成することが最終目的でもないでしょうし、1年分をまとめるのなら年に一度の処理なのか、せいぜい四半期に一度の業務のような気もしますので・・

本来であれば、最終目的(=項目別に分けた後で行う処理)までを含めて考えるべきと思います。
そうすることで、場合によっては項目別シートを作成しなくても良くなるかも知れません。
(本当の目的がわかりませんので、何とも言えませんけれど・・)

いずれにしろ、前回回答者さんの「1シートにまとめる」案がデータ処理の上では最も基本的な考え方と思います。(質問者様は拒否なさっていたようですが・・・)
例えば、1シートで使用している行数(=データ数)が8万程度以下であると見込めるのなら、あらかじめ「纏めシート」を作成しておいて、関数で各シートの内容が参照できるようにしておくだけで済みます。(テンプレートを作成しておけば、再利用も可能でしょう)

仮に、項目別シートを作成するにしても、「纏めシート」上で項目をキーにソートしてしまえば、コピペの回数は1回で1シートを作成可能です。
(質問者様の方法だと、項目数ごとに、毎回12回のコピペを繰り返すことになります)

No1様が触れておられるマクロを利用すれば、ボタン一つで、項目別のシートを直接作成することも可能なはずなのですが・・・
どうやら、作業方法や手順に関してもの凄く拘りがあるようですので、これ以上書くのはやめておきますけれど。
    • good
    • 2
この回答へのお礼

おはようございます。
ご丁寧に教えていただきありがとうございました。
以前の投稿を削除したのは回答者様がおっしやられた通り、私の質問の仕方が悪かったのですが質問内容を修正できず再投稿しか方法が見つからなかった為です。

実際行っている作業は日々のものなのですが、うまく説明ができなかったのでフィルターの連動を分かりやすく伝えようと例として投稿させていただきました。

ご親切にありがとうございました。

お礼日時:2022/05/02 06:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング