[[20090910174415]] 『VBAでフィルタがかかっている列を取得』(まじっく) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAでフィルタがかかっている列を取得』(まじっく)
 例えばA列からE列までの項目のリストで、オートフィルタが設定してあります。 
 ある任意の列が実際にフィルタリングされているか調べたり、フィルタがかかっている列を特定するにはどうしたらよいでしょうか? 
よろしくお願いします 


 標準モジュールに

 '==========================================================
 Sub test()
    Dim auf As AutoFilter
    Dim g0 As Long
    With ActiveSheet
       If .AutoFilterMode Then
          Set auf = .AutoFilter
          For g0 = 1 To auf.Filters.Count
             If auf.Filters(g0).On Then
                MsgBox auf.Range.Columns(g0).Address & "は、フィルタがかかっています"
             End If
          Next
       End If
    End With
 End Sub

 オートフィルタが設定されているシートをアクティブにして、実行してみてください。
 フィルタがかかっている列があれば、メッセージが表示されます。

 ichinose


 ichinose様 
 ありがとうございます。方法もわかり、無事にできました。 
 AutoFilterModeなどに目が行っていて、できなくて悩んでおりました。
 AutoFilterオブジェクトというものがあったのには目から鱗です。 
 基本的なことでお恥ずかしい限りです。

コメント返信:

[ 一覧(最新更新順) ]


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