フィルタがかかっているかどうかを取得したいのですが
フィルタがかかっているシートにて
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
accessで該当するレコードがない場合
その他(プログラミング・Web制作)
-
8
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
9
サブフォームを非表示させる方法を教えて下さい
その他(Microsoft Office)
-
10
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
11
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
12
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
13
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
14
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
15
ACCESSのレポートで書式設定が元に戻ってしまうのですが・・・
Access(アクセス)
-
16
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
17
【ACCESS2000】 サブフォームのフィルタ方法
その他(データベース)
-
18
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
19
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
20
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【EXCEL】条件に一致した最新デ...
-
エクセルで時刻(8:00~20:00)...
-
エクセルでオートフィルタのボ...
-
Excelのオートフィルタで非表示...
-
エクセルのオートフィルタで最...
-
オートフィルタは金額の桁カン...
-
オートフィルタの抽出が途中で...
-
エクセルで、条件に一致した行...
-
ACCESSでスペースの抽出
-
スプレッドシートのチェックボ...
-
Excelで一定の行(列)間隔の数...
-
なぜShowAllDataだとうまく行か...
-
エクセル マクロ criteria ...
-
Excel共有ブックのオートフィル...
-
オートフィルタで選択したデー...
-
オートフィルタで3つ以上の条...
-
VBA オートフィルタで抽出した...
-
Excelで作成した住所録にオート...
-
エクセルVBAで検索してシートへ...
-
エクセル オートフィルタ中の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
エクセル関数で、数字の入った...
-
エクセルで、条件に一致した行...
-
オートフィルタで3つ以上の条...
-
access マクロでのフィルタの...
-
Excel共有ブックのオートフィル...
-
なぜShowAllDataだとうまく行か...
-
エクセル・条件付で行を削除す...
-
オートフィルタで選択したデー...
-
今日の日付のデータをすばやく...
-
【EXCEL】条件に一致した最新デ...
-
エクセル、オートフィルタで最...
-
Excelオートフィルターで絞り込...
-
可視セルを対象としたcountifが...
-
【Excel/関数/条件付き書式】月...
-
データの抽出を教えてください
おすすめ情報