2017-10-05 39 views
0

所以我在工作中設置了這個電子表格 - 我最終不得不做很多繁瑣的Excel任務,儘管我幾乎不知道任何VBA - 而且我想要一個表格在工作表編輯後自動過濾自己。問題是被過濾的列滿了公式,這些公式會響應用戶編輯而發生變化,並且在列完成計算之前應用過濾器,從而產生不穩定的結果。所以我真正想要的是在計算工作表之後應用AutoFilter,而不是在編輯之後。在工作表計算完成後使用宏應用自動篩選器?

我一直在使用的宏:

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