[[20250402083341]] 『フィルターを解除したい』(のあ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『フィルターを解除したい』(のあ)

エクセルを開き、シート内のデータにフィルターが設定およびフィルターが掛けられていた場合、解除する
そもそもフィルターが設定されていない場合は何もしない
という場合はどのように記載すればよいでしょうか。

原則、1行目が項目行なので1行目のフィルター判定ですが、
もしどの行にフィルターが掛けられていても解除できると嬉しいです

< 使用 Excel:Excel2019、使用 OS:Windows11 >


「VBA フィルター 解除」ぐらい検索したらどうなの?

(はこ) 2025/04/02(水) 09:10:58


 Sub test()
     If ActiveSheet.AutoFilterMode Then
         ActiveSheet.AutoFilter.Range.AutoFilter
     End If
 End Sub
 別シートならシート指定を修正してください。 
(xyz) 2025/04/02(水) 09:26:06

 Sub test()
     ActiveSheet.AutoFilterMode = False
 End Sub
 で良かったですね。
(xyz) 2025/04/02(水) 15:23:19

横からですが何点か。

■1
>フィルターが設定およびフィルターが掛けられていた場合

 上記の発言から、「どの行にフィルターが掛けられていても解除」とは
 「どの"列"でも"絞り込み"されていたら、"すべての絞り込み"を解除」
 という意味だったりしませんか?
 (オートフィルタの設定自体は解除したくない)

■2
読み通りであれば、提案があるように、いったんオートフィルタ(の設定自体)を解除してから、再度オートフィルタを設定するか、エラーを無視するようにしてから「ShowAllData」をすればよいとおもいます。

(もこな2) 2025/04/03(木) 08:00:07


返事が無いのでトピ主的には解決したのだと思いますが、同じ悩みをもってたどり着いた方向けに投稿しておきます。
    Sub 研究用()
        Stop 'ブレークポイントの代わり
        With ActiveSheet

            'いったん解除してから再設定
            With .AutoFilter.Range
                .Parent.AutoFilterMode = False
                .AutoFilter
            End With

            '(エラーを無視して)絞り込みを解除
            On Error Resume Next
            .ShowAllData
            On Error GoTo 0
        End With
    End Sub

 上記のように全絞り込みを解除したいのであれば「ShowAllDataメソッド」を使うとよいと思います。
 (オートフィルタ自体が設定されていなかったり、絞り込みがされていないとエラーになるので、
 大抵の場合「On Error ステートメント」と組み合わせて使うことになります)

(もこな2 ) 2025/04/05(土) 14:41:44


    If ActiveSheet.AutoFilterMode Then
        If ActiveSheet.FilterMode Then
            ActiveSheet.ShowAllData
        End If
    End If
(マナ) 2025/04/05(土) 16:00:17

 >原則、1行目が項目行なので1行目のフィルター判定ですが、
 >もしどの行にフィルターが掛けられていても解除できると嬉しいです

 もしテーブルならば

    With ActiveSheet.ListObjects(1)
        If .ShowAutoFilter Then .ShowAutoFilter = False  '<-- AutoFilter解除
        If .ShowAutoFilter Then .AutoFilter.ShowAllData  '<-- 全てのデータを表示
    End With
(jindon) 2025/04/05(土) 18:14:16

コメント返信:

[ 一覧(最新更新順) ]


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