2009-09-01 54 views

回答

1

確保您有一個包含整列數據的公式(例如COUNT)。在的情況下,打開合計行。

當過濾器更改時,Excel計算事件將由於公式而觸發,您可以通過將以下代碼插入到工作表中來選擇該事件。

Private Sub Worksheet_Calculate() 

MsgBox "Calculation" 

End Sub 

你的表需要被設計成只具有數據,否則將需要的代碼,以確定是否在紙張上的計算事件沒有發起由於過濾器的變化。

您將需要添加代碼來獲取過濾器值。專注於過濾類成員一樣Citeria1,Criteria2,運營商,在等

+0

如果您的工作表超過此表,請使用'= SUBTOTAL(3,...'來計算過濾器的結果。在Worksheet_Calculate例程中,將該值存儲在模塊範圍變量中,並將其與最後一個狀態進行比較 - 每次更改時,都會知道過濾器已更改。當然,當過濾器發生變化但結果數量相同時,這仍然不成立。然後羅伯特的最後一句話會幫助你... – 2012-12-18 20:37:20

0

我而言是一個Excel數據庫。我創建了一個標籤,指出「已過濾項目的數量」或「會議實例的數量」,以便在使用下拉過濾器進行過濾時,此標籤將更新。我沒有發現任何「過濾器更改」事件。我試圖上述類似方法如下:

  • 選擇你的片的細胞,你是不是願意使用
  • 設置電池的公式「=計數(B:B)」或「 = counta(C:C)「或任何取決於整個列的公式。確保單元格不在同一列
  • 將此輔助單元的格式類型設置爲「custom」並將格式設置爲「;;;」因此,單元格內容將不可見
  • 在VBA中,使用「工作表計算」事件來執行代碼

私人小組Worksheet_Calculate()

'你要當過濾器要執行的命令和操作改變

末次

  • 現在,你做
相關問題