フィルタがかかっているかどうかを取得したいのですが
フィルタがかかっているシートにて
Sub test1()
If ActiveSheet.FilterMode Then
MsgBox "フィルタがかかってます"
End If
End Sub
Sub test1の1()
If ActiveSheet.FilterMode = True Then
MsgBox "フィルタがかかってます"
End If
End Sub
を実行しても"フィルタがかかってます"は表示されません。
Sub test2()
If Rows(1).FilterMode Then
MsgBox "フィルタがかかってます"
End If
End Sub
Sub test3()
If ActiveSheet.Rows(1).FilterMode Then
MsgBox "フィルタがかかってます"
End If
End Sub
こちらは
オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)
になってしまいます。
フィルタがかかっているか調べる方法はありますか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
すでにWendy02さんから回答がでていますが、付け加えますと
シートにオートフィルタが設置されていれば、そのオートフィルタの状態の如何にかかわらずAutoFilterModeでTrueが返ります。
これに対し、設置されたオートフィルタが、何らかのフィルタ指示をされてフィルタがかかった状態であればFilterModeでTrueが返ります。(フィルタが設置されていても何もフィルタ指示をされていない状態は、通常フィルタがかかっているとは言いません。)
No.3
- 回答日時:
似た表現のものに、AutoFilterモードとFilterモードの2つが有るようです。
どちらもObjectはシートObjectに対してです。
その違いは、
Sub test01()
ActiveSheet.Range("A:A").AutoFilter
'これでA列に▼がつく
'下記で▼が消える
ActiveSheet.Range("A:A").AutoFilter 'X
ActiveSheet.AutoFilterMode = False 'range指定なし
MsgBox ActiveSheet.AutoFilterMode
ActiveSheet.Range("A:A").AutoFilter
MsgBox ActiveSheet.AutoFilterMode
End Sub
Xの行をコメントアウトをしたり生かしたりして、情況を理解してください。
▼を表示している(する)モードの設定と状態取得をします。
ーー
FilterModeは
http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v … の
>FilterModeプロパティではAutoFilterがONでもデータが抽出されていないどきはFalseのままですので、AutoFilterModeプロパティを利用します。 を参照のこと。
データが
商品▼
a
s
a
s
d
f
a
で書き事項すると、False
Sub test02()
MsgBox ActiveSheet.FilterMode
End Sub
フィルタして
商品▼
a
a
a
の状態にして、実行するとTrueです。
「すべて」を選ぶと上記実行はFalse
以上を参考に考えてみてください。
No.1
- 回答日時:
こんばんは。
回答自体は、たぶん、以下のようなことなんでしょう。
でも、ふと思ったけれども、これは、私たち、英語を母国語としない者にとって、損ですね。
"Filter" というのは、日本語でいうと、「ふるいにかけた」ということで、「すべて」出ているときは、"Filter" とは言わないからです。
Sub test1a()
If ActiveSheet.AutoFilterMode Then
MsgBox "フィルタがかかってます"
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) VBAユーザーフォームでテキストボックスについて。 1 2022/05/31 12:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) Excel VBA ユーザーフォーム 複数のユーザーフォームの閉じ方。 2 2022/04/27 11:29
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
ACCESS VBA メインフォーム及びサブフォームのフィルタのクリア
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
-
-
4
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
7
サブフォームを非表示させる方法を教えて下さい
その他(Microsoft Office)
-
8
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
9
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
10
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
11
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
12
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
15
【ACCESS2000】 サブフォームのフィルタ方法
その他(データベース)
-
16
ACCESSのレポートで書式設定が元に戻ってしまうのですが・・・
Access(アクセス)
-
17
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
18
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
19
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
20
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで時刻(8:00~20:00)...
-
エクセルのオートフィルタで最...
-
エクセルでオートフィルタのボ...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
Excelで、ブック中すべてのシー...
-
VBA オートフィルタで抽出した...
-
オートフィルタで3つ以上の条...
-
エクセルで検索窓のようなもの...
-
なぜShowAllDataだとうまく行か...
-
エクセル関数で、数字の入った...
-
エクセルで、条件に一致した行...
-
オートフィルタの抽出が途中で...
-
結合したセルのオートフィルタ...
-
関数で小数点以下を抽出したい
-
access マクロでのフィルタの...
-
時間の条件でオートフィルタを...
-
excelオートフィルタの検索条件...
-
オートフィルタ機能のデータが...
-
エクセル フィルタで抽出したデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
エクセル関数で、数字の入った...
-
エクセルで、条件に一致した行...
-
オートフィルタで3つ以上の条...
-
access マクロでのフィルタの...
-
Excel共有ブックのオートフィル...
-
なぜShowAllDataだとうまく行か...
-
エクセル・条件付で行を削除す...
-
オートフィルタで選択したデー...
-
今日の日付のデータをすばやく...
-
【EXCEL】条件に一致した最新デ...
-
エクセル、オートフィルタで最...
-
Excelオートフィルターで絞り込...
-
可視セルを対象としたcountifが...
-
【Excel/関数/条件付き書式】月...
-
データの抽出を教えてください
おすすめ情報