
こんばんわ。
現在、コマンドボタン(オートフィルタの設定)にオートフィルタを設定するようなマクロを登録しています。
そして、別のコマンドボタンにはオートフィルタの解除を実施するマクロを書きたいんです。
しかし、オートフィルタを設定していない時に、解除のマクロを実行するとエラーになってしまいます。どうしたら良いのでしょうか?
If・・・文を使って、対象セルにオートフィルタが設定している時は解除を実施し、オートフィルタが設定されてない時は、何も実施しない。
このようなマクロはどうしたら良いのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
フィルタされていないシートに対して実行すると、
実行時エラー'1004':WorksheetクラスのShowAllDataメソッドが失敗しました。
というエラーが出ます(多分)
対象のシートが必ずアクティブなら、
If ActiveSheet.AutoFilterMode Then
'オートフィルタを解除
ActiveSheet.AutoFilterMode = False
End If
対象のシートがアクティブでなく、シートを指定する必要があるなら
If Worksheets("sheet1").AutoFilterMode Then
'オートフィルタを解除
Worksheets("sheet1").AutoFilterMode = False
End If
(シート名は適時変更要)
これで、どうでしょうか?
No.2
- 回答日時:
既に正解が出されましたが、せっかく打ち込んだので...
一番安直なのは、
エラーが出たら何もしないで終了させる
Sub test1()
On Error GoTo errorHandle
'ここに処理を記す
errorHandle:
End Sub
まっとうな方法は、AutoFilterModeで分岐する
Sub test2()
Dim sh As Worksheet
Set sh = ActiveSheet
If sh.AutoFilterMode = True Then
'ここに処理を記す
End If
End Sub
上記のコードをコピペしないで、打ち込んで行くと、sh.まで打ち込んだ時点で、インテリセンスという奴で、メンバーが表示されるので、どんなものがあるかご確認して、ご活用下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- エアコン・クーラー・冷暖房機 エアコンのオートについて。 家にあるエアコンのモードが冷房・暖房・除湿・オートとあるのですが、オート 4 2022/08/04 13:45
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- 国産車 車のミラーがオートで閉まるように設定してあります。 車のエンジンを切って車を降りてドアのノブのボタン 9 2023/02/08 21:18
- 一眼レフカメラ プログラムオートといわゆるオートの違いは? 1 2022/09/11 20:20
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- ルーター・ネットワーク機器 YAMAHAルータ設定について 1 2022/09/03 16:31
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
なぜShowAllDataだとうまく行か...
-
Excelのオートフィルタで非表示...
-
オートフィルタ抽出データのみ
-
エクセルで時刻(8:00~20:00)...
-
(VBA)フィルタがかかって...
-
エクセルのオートフィルタで抽...
-
エクセルで、条件に一致した行...
-
access マクロでのフィルタの...
-
エクセルのセル内にある文字列...
-
エクセル オートフィルタ中の...
-
オートフィルタで3つ以上の条...
-
エクセル・条件付で行を削除す...
-
Excelで、オートフィルタを解除...
-
エクセルで指定期間内に在職す...
-
上から順にすべてのデータを抽...
-
エクセル関数で、数字の入った...
-
Excelに書いた文字をor検...
-
Excelのウィンドウ表示?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでオートフィルタのボ...
-
エクセルのオートフィルタで最...
-
エクセルで時刻(8:00~20:00)...
-
Excelのオートフィルタで非表示...
-
エクセルの偶数行(奇数行)の抽出
-
エクセル関数で、数字の入った...
-
エクセルにて、フィルタをかけ...
-
オートフィルタで3つ以上の条...
-
access マクロでのフィルタの...
-
オートフィルタは金額の桁カン...
-
エクセルで、条件に一致した行...
-
【EXCEL】条件に一致した最新デ...
-
【Excel/関数/条件付き書式】月...
-
オートフィルタで選択したデー...
-
Excelのフィルターで抽出した状...
-
Excel共有ブックのオートフィル...
-
データの抽出を教えてください
-
エクセルで隔週をもとめる
-
エクセル・条件付で行を削除す...
-
ACCESSでスペースの抽出
おすすめ情報