2017-10-05 7 views
0

私は仕事でこのスプレッドシートをセットアップしました - 私はほとんどVBAを知っていませんが、私は多くの厄介なExcelタスクをやらなければなりません - そして、ワークシートが編集された後に自動的にテーブルをフィルタしたい。問題は、フィルタリングされている列には、ユーザーが行った編集に応じて変化する式がいっぱいであり、列の計算が終了する前にフィルタが適用され、不安定な結果が生成されることです。だから私が望むのは、ワークシートが編集された後ではなく、計算された後にオートフィルタを適用することです。ワークシートの計算後にマクロを使用してオートフィルタを適用しますか?

私が使用しているマクロは次のとおりです。

Private Sub Worksheet_Change(ByVal Target As Range) 
    With ActiveWorkbook.Worksheets("Library").ListObjects("Library") 
     .AutoFilter.ApplyFilter 
    End With 
End Sub 

単純Worksheet_Calculateに活性化イベントを変更するには、()は動作しません - それは、繰り返し何度も何度もフィルタを適用しているように見えます。

私はこれが比較的簡単なものだと確信しています。私はそれが私がする必要があるか分かりません。みんなにアドバイスできますか?

は(PS初めてここに投稿! - 私はすべての権利を行っている願っています)

答えて

0

気にしないで、それを自分で解決しています。問題のある他の人には、計算を手動に設定してから、コードを次のように置き換えただけです。

Private Sub Worksheet_Change(ByVal Target As Range) 
    Calculate 
    ActiveWorkbook.Worksheets("Library").ListObjects("Library").AutoFilter.ApplyFilter 
End Sub 
関連する問題