ブックを保存するときに、すべてのフィルタをリセットしたいと考えています。現在私は持っています:保存時にマクロを実行する
Sub ResetFilters()
On Error Resume Next
ActiveSheet.ShowAllData
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _
Cancel As Boolean)
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Call ResetFilters
Next
Cancel = False
End Sub
私が保存すると、私はすべてのフィルタを削除するという考えがあります。それは何らかの理由で働いていません - それは誰にも分かりません。
編集:Excel VBA - Run macro before save
Tlの; DR::より多くのグーグルは、答えを見つけ、必ずその中のキーワードのstackoverflowでGoogle - それはあなたのプログラムは、より良い、このように書くことができ
まず、On Error Resumeを使用しないでください。この行は、基本的にはトラブルを引き起こす可能性のあるエラーをバイパスします。また、誤ってキーワードを使用することを避けるために、変数として「キャンセル」ではなく「Cncl」のようなものを使用します。これらの2つを変更し、プログラムがあなたに何を伝えるかを見てください。 – Alex
私はそれを得ました - それは私がモジュールを保存していた場所でした。フィルタを削除するより良い方法を見つけることができれば、私はそれを聞いて喜んで - 私はまだより良い方法を見つけるために持っている – Selkie
あなたはActiveSheetの使用に問題があると思う。おそらくwsをResetFiltersに渡し、ActiveSheetではなくwsを使用するべきです。 –