- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBAでのオートフィルター)
EXCEL VBAでのオートフィルター
このQ&Aのポイント
- EXCELのVBAで日付のデータを過去1日、過去1週間、過去1ヶ月などのボタンを作成し、クリックしたらオートフィルター機能で各条件に合ったデータを表示する方法について教えてください。
- ボタンをクリックした際にフィルターがない状態では正常に機能するが、連続してボタンをクリックすると表示が変わらない問題が発生しています。対策方法や正しいやり方を教えてください。
- EXCEL2000で上記の問題が発生しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
現在オートフィルタモードであるかどうかを判別して、処理を分けるといいでしょう。次の例はAutoFilterModeを使って判別しています。 With Activesheet If .AutoFilterMode = False Then .Range("データ範囲").AutoFilter 'この後に条件 Else If .FilterMode = True Then MsgBox "フィルタリングを解除してください" Exit Sub End If res = MsgBox("オートフィルタを解除しますか?", vbOKCancel) If res = vbOK Then .Range("データ範囲").AutoFilter End If End With
お礼
ご回答ありがとうございます。 おかげさまで解決いたしました。 AutoFilterModeというものがあるのですね。 実際の動作を記憶させ、それをマクロにしている レベルですので知りませんでした。 勉強になりました。