質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

16054閲覧

Excel VBAのAutoFilterの解除でエラー

minato_hy

総合スコア68

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/07/10 06:55

編集2016/07/10 07:04

Excel VBAで、AutoFilterを解除しようとするとエラーが出て困っています。なにかご存知のことがあれば教えていただけますでしょうか。

###前提・実現したいこと
下のような表において、C1の値「編集部」を含む行をAutoFilterで抽出し、その後AutoFilterを解除する、という処理を試しています。
表

###発生している問題・エラーメッセージ
AutoFilterでの抽出は上手くいくのですが、その後AutoFilterを解除しようとすると、以下のようなメッセージが出て解除できません。

実行時エラー'1004': オブジェクト'AutoFilter'のメソッド'Range'が失敗しました。

###該当のソースコード

Excel

1Sub オートフィルターによる抽出() 2 Dim myName As String 3 myName = Range("c1").Value 4 If myName = "" Then 5 MsgBox "担任を入力してください。" 6 Else 7 Range("B3").AutoFilter Field:=2, Criteria1:=myName 8 End If 9End Sub 10 11Sub オートフィルターの解除() 12 If ActiveSheet.AutoFilterMode = True Then 13 Range("B3").AutoFilter 14 End If 15End Sub

###補足情報(言語/FW/ツール等のバージョンなど)
Excel 2011 for Mac

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Range("B3").AutoFilter ではなく ActiveSheet.AutoFilterMode = False で解除されませんか?
ただ、ご提示のコードのままでも、Excel 2013 / Windows 10 では問題なく動作したので、違う理由かもしれませんが。

投稿2016/07/10 07:40

q1701

総合スコア274

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

minato_hy

2016/07/10 07:50

お書きの方法で解除されました! ありがとうございます! それにしても、調べたサイトではどこも「Range().AutoFilterをもう一度実行すると解除される」とあったのですが、これはExcel 2013からの仕様ということなんでしょうかね……? 私はExcel 2011なので
q1701

2016/07/10 08:10

解決されて、よかったです。 手元に Excel 2007 (Windows 10) もあるので試してみましたが、こちらも同様に動作しました。 Windows と Mac で動きが違うのかもしれませんね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問