![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
フィルタがかかっているかどうかを取得したいのですが
フィルタがかかっているシートにて
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(アクセス)
-
ACCESS VBA メインフォーム及びサブフォームのフィルタのクリア
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
5
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
6
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
7
【ACCESS2000】 サブフォームのフィルタ方法
その他(データベース)
-
8
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
9
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
10
access マクロでのフィルタの解除の方法
Access(アクセス)
-
11
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
12
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
13
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
14
アクセスのフィルタ nullについて。
その他(データベース)
-
15
accessVBA 「フォームが見つかりません」
その他(データベース)
-
16
ACCESS、フィールドが異なるデータのインポート
Access(アクセス)
-
17
EXCELのVBAでRange(A1:C4")を変数にする方法を教え"
Visual Basic(VBA)
-
18
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
19
accessで該当するレコードがない場合
その他(プログラミング・Web制作)
-
20
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルで時刻(8:00~20:00)...
-
エクセルのオートフィルタで最...
-
エクセルの偶数行(奇数行)の抽出
-
Excelのオートフィルタで非表示...
-
エクセル関数で、数字の入った...
-
access マクロでのフィルタの...
-
エクセルにて、フィルタをかけ...
-
可視セルを対象としたcountifが...
-
【Excel/関数/条件付き書式】月...
-
オートフィルタは金額の桁カン...
-
オートフィルタの抽出が途中で...
-
Excel共有ブックのオートフィル...
-
Excelで西暦の日付から「和暦の...
-
上から順にすべてのデータを抽...
-
excelオートフィルタの検索条件...
-
関数で小数点以下を抽出したい
-
なぜShowAllDataだとうまく行か...
-
ACCESSでスペースの抽出
-
Excelで文字を入力と自動的にフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで時刻(8:00~20:00)...
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
access マクロでのフィルタの...
-
エクセル関数で、数字の入った...
-
オートフィルタで3つ以上の条...
-
Excel共有ブックのオートフィル...
-
エクセルで、条件に一致した行...
-
エクセル・条件付で行を削除す...
-
エクセルにて、フィルタをかけ...
-
データの抽出を教えてください
-
エクセルで検索窓のようなもの...
-
Excelで文字を入力と自動的にフ...
-
Excelオートフィルターで絞り込...
-
オートフィルタで選択したデー...
-
なぜShowAllDataだとうまく行か...
-
ACCESSでスペースの抽出
-
エクセル フィルタで抽出したデ...
おすすめ情報