重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

お世話になります。

EXCEL2003を使用しています。

10列ほど項目が並んだEXCELシートがありますが、このシートを開いた時にオートフィルターを10列すべての項目でオートフィルターを解除する仕組みをVBAで構築したいのです。

EXCEL2007ではオートフィルターモードという便利なプロパティがあるようですが、EXCEL2003で一括でオートフィルターを解除する方法を知りたいです。
(私以外のユーザーがオートフィルターをかけている時がよくあるので)

どなたかお知恵をお借りできませんでしょうか?

よろしくお願い致します。

環境
Windows XP SP3
EXCEL2003

A 回答 (2件)

こんばんは!


一例です。

Alt+F11キー → 画面左側の「ThisWorkbook」をダブルクリック → 右側のVBE画面に
↓のコードをコピー&ペーストし、そのファイルを保存してみてください。
元のファイルがマクロが設定されていないファイルの場合は、保存時の「ファイルの種類」で
「マクロ有効ブック」を選択し、保存しなおしてください。

Private Sub Workbook_Open() 'この行から
Dim k As Long
For k = 1 To Worksheets.Count
If Worksheets(k).AutoFilterMode = True Then
Worksheets(k).AutoFilterMode = False
End If
Next k
End Sub 'この行まで

これでファイルを開くたびにオートフィルタが設定してあるSheetは
すべてオートフィルタが解除されるはずです。m(_ _)m
    • good
    • 0
この回答へのお礼

tom04さん、ご連絡ありがとうございます!

ご教授いただきました方法で実現できました!

いつもご丁寧なご回答いただきまして本当にありがとうございます!!

お礼日時:2013/08/28 22:55

VBAでなくてもメニューから「データ」「フィルタ」「オートフィルタ」のチェックを外すという作業ではダメなのでしょうか?

    • good
    • 0
この回答へのお礼

kmetuさん、早速のご連絡ありがとうございます!

今回は別回答者様からご教授いただきましたVBAロジックでオートフィルターをOFFすることにしましたが、kmetuさんの仰る通り[オートフィルターを外す]という作業でも本件は解決できました。

迅速なご回答、本当にありがとうございました!!

お礼日時:2013/08/28 22:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!