つらつら Excel VBA

私の備忘録です。

オートフィルタ使用時のセル位置復元

オートフィルタの絞り込み条件を解除するとセル位置がどこいった状態になるのを対策。
保存するか確認されるのは嫌なので回避する処理も入れてみた。かなり快適。

Sub オートフィルタリセット処理()
    
    On Error Resume Next
    
    '本処理だけが更新内容なら保存しない
    Dim flgAppSaved As Boolean
    flgAppSaved = ThisWorkbook.Saved
    
    Dim ws As Worksheet
    Set ws = ThisWorkbook.ActiveSheet
    ws.ShowAllData 'オートフィルタ絞り込み条件解除
    Set ws = Nothing
    
    '表示位置を復元
    Selection.Offset(1, 0).Select '下
    Selection.Offset(-1, 0).Select '上
    
    ThisWorkbook.Saved = flgAppSaved
    
End Sub