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

EXCEL VBAについて教えて下さい。
A列に商品名A~Gまでの商品があります。
ラジオボタンの選択で
①Aを表示しない、Bを表示しないを選ぶとA、B以外を全て表示する(C,D,E,F,G表示)。
②Aを表示する、Bを表示するを選ぶと全てを表示する(A,B,C,D,E,F,G表示)。
③Aを表示する。Bを表示しないを選ぶとB以外を全て表示する(A,C,D,E,F,G)。
④Aを表示しない、Bを表示するを選ぶとA以外を全て表示する(B,C,D,E,F,G表示)。
というようにEXCEL VBAでフィルターを掛ける方法をご教授下さい。
宜しくお願い致します。

「ラジオボタンを使ってフィルターを掛ける方」の質問画像

A 回答 (3件)

No2です。


それでは、マクロの記録はわかりますでしょうか。
既に、オートフィルターが設定されている様なので以下の操作をしてみてください。
1、開発のリボンから、マクロの記録をクリック
2、オートフィルターで C,D,E,FGを表示させる。
3、マクロの記録の終了
同様にして
2、オートフィルターで B,C,D,E,FGを表示させる。
も作成
それぞれを、ラジオボタンに登録してみては如何でしょうか。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。
マクロの記録と乏しい知識でどうにか要望通り動く様になりました。

お礼日時:2015/10/29 20:13

オートフィルターでも出来るかと思いますが、フィルターオプションを使った方がすっきりしそうですね。


例えば、空いている列に
   F   G   H   I
1 商品名 商品名 商品名 商品名
2  A   A   B    C
3  B   C   C    D
4  C   D   D    E
5  D   E   E    F
6  E   F   F
7  F
と云った表示させたい商品名の一覧を準備しておきます。
Sub Macro1()
Range("A5:D100").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("F1:F7"), Unique:=False
End Sub
Sub Macro"()
Range("A5:D100").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("G1:G6"), Unique:=False
End Sub
・・・
と4つのマクロをそれぞれのラジオボタンに登録してみてください。
フィルターオプションについては
http://www.eurus.dti.ne.jp/~yoneyama/Excel/filte …
などを参考にして勉強してみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
私には難しくて理解できませんでした。
せっかくご回答いただいたのに申し訳ございません。

お礼日時:2015/10/25 22:11

「vba 列の非表示」、「excelマクロ 列の非表示」といったキーワードで探すといろいろな解説ページがみつかるはずです。


まずはそうしたものを参照してみるとよいのではないでしょうか。
参考まで。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございました。
色々見てみてのですが、ラジオボタンとの連携や、一部のみフィルターを解除する方法が、私には分かりませんでした。
今後も色々な解説ページを見て勉強致します。

お礼日時:2015/10/25 22:09

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