我執行一個VBA代碼,它接收一個數據庫,對其進行處理並將其導出到工作表中。這工作正常。但是,我有一張根據特定工作表中的數據生成圖表的工作表。數據沒有實現。我必須進入單元格並點擊進入以實現它。我很確定有一個更簡單的方法來做到這一點。計算設置爲自動,但似乎沒有改變任何東西。沒有實現的函數
在我的單元格中,我有我自己的vba函數,需要在報表完成後更新。當我點擊單元格然後輸入時,結果會被更新,但我希望能夠自動完成。我希望這更清楚!
由於提前,
艾蒂安NOEL
這是我的函數的代碼
Public Function number_of_appearances(term As String, sheet As String, column As Integer) As Integer
Application.Volatile
Dim number_of_rows As Integer
Dim appearances As Integer
Dim row As Integer
appearances = 0
row = 1
number_of_rows = Worksheets(sheet).UsedRange.Rows.Count
Do While row <= number_of_rows
If Worksheets(sheet).Cells(row, column).Value = term Then
appearances = appearances + 1
End If
row = row + 1
Loop
number_of_appearances = appearances
End Function
功能
=number_of_appearances('test';'sheet1'; 3)
的用戶的細胞例如
目前還不清楚到底是什麼「具體化」的手段在這個問題上。你有沒有計算的公式?在這種情況下你有沒有試過調用Application.CalculateFull? –
是的,我試過了。我更新了該帖子的更多細節。 – CoachNono
您是否有機會使用'Worksheet_Change'事件來調用「需要更新報表完成後」的VBA函數?這可能是一個問題,如果您希望觸發事件的單元格具有一個只能引用其他工作表上的單元格的公式(對公式引用的單元格值的更改會觸發「計算」事件但不會觸發「更改」事件觸發單元所在的工作表)。這不是最可能發生的情況,所以請詳細解釋你如何調用你的函數。 – barrowc