[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.