重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

フィールド1フィールド2
1        あ
2        い
3        う

で、コマンドボタンを押したら、
A列にフィルタがかかっていても、
B列にフィルタがかかっていても、解除したいのですが、
どういうコードにすればいいのでしょうか?

Private Sub CommandButton1_Click()
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
End Sub

こうするしかないでしょうか?
今は2列だから良いのですが、実際のデータは、30列以上あります。
その場合、1行のVBAコードでフィルタの解除が出来ればいいなーと思っています。
ご回答よろしくお願いします。

「1行のVBAコードでフィルタの解除したい」の質問画像

A 回答 (3件)

activesheet.showalldata


と書きます。
    • good
    • 0
この回答へのお礼

ActiveSheet.ShowAllData
なら、フィルタを解除した後に、再度Range("A1").AutoFilterをして
フィルタをかけなくてもいいのですね。
ありがとうございました。

お礼日時:2012/09/15 20:58

こんばんは!


お望みの方法とは違うかもしれませんが・・・

お示しの画像のように1行目がフィルタの検索項目行だとすると
1行目のどこかのセルをアクティブにして、コマンドボタンをクリックします。

Private Sub CommandButton1_Click()
On Error Resume Next
Selection.AutoFilter
End Sub

※ オートフィルタを解除した後、プルダウンも表示されなくなります。
もう一度コマンドボタンをクリックするとプルダウンが表示されると思います。

他に良い方法があればごめんなさいね。m(_ _)m
    • good
    • 0
この回答へのお礼

このような方法もあるのですか。ありがとうございました。

お礼日時:2012/09/15 20:54

Worksheets("Sheet1").AutoFilterMode = False


または
ActiveSheet.AutoFilterMode = False
    • good
    • 0
この回答へのお礼

できました。ありがとうございました。

お礼日時:2012/09/15 20:54

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