我有一個相當複雜的工作簿,但使用分佈平均值的計算並不那麼直接。在工作簿的末尾是特定單元格中的結果值。每當工作簿重新計算出該值稍有變化時。每當我重新計算一個新單元格時,是否有辦法保存所有這些值?理想情況下,我希望這樣做100多次,以便能夠根據可能的值繪製圖表並獲得平均值。Excel - 將計算結果作爲新行保留在單獨的工作表上
宏能夠做這份工作嗎?如果是的話......我從哪裏開始?
謝謝!
我有一個相當複雜的工作簿,但使用分佈平均值的計算並不那麼直接。在工作簿的末尾是特定單元格中的結果值。每當工作簿重新計算出該值稍有變化時。每當我重新計算一個新單元格時,是否有辦法保存所有這些值?理想情況下,我希望這樣做100多次,以便能夠根據可能的值繪製圖表並獲得平均值。Excel - 將計算結果作爲新行保留在單獨的工作表上
宏能夠做這份工作嗎?如果是的話......我從哪裏開始?
謝謝!
您必須訂閱Workbook
Calculate
事件。爲此,請按ALT + F11
打開VBE。在左側,您應該看到Project Explorer
樹形視圖(如果沒有,請按CTRL + R
)。右鍵點擊ThisWorkbook
,然後選擇View Code
。這打開了一個文本編輯器窗口。在這個窗口的頂部,有兩個下拉框。在左下拉框中,選擇Workbook
。在右側的下拉列表中選擇SheetCalculate
。
現在,工作簿將在每次計算時執行一個操作。下面,我有一個示例腳本。在Sheet2
中有一個公式,我們需要歷史記錄的單元格A1
。看看您是否可以根據自己的需求調整代碼,或者在需要時提供更多信息。
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim sData As Worksheet
Dim nNewRow As Long
Set sData = Worksheets("Sheet2")
nNewRow = sData.Cells(Rows.Count, 1).End(xlUp).Row + 1
sData.Cells(nNewRow, 1).Value = sData.Range("A1").Value
End Sub
VBA將是實現它的理想方式。將您的工作表設置爲手動重新計算。將你的宏綁定到一個按鈕。該宏會導致工作簿計算一次,並將您的單個值放入給定範圍內的下一個空白單元格中。該範圍可以預先配置爲圖形數據系列的一部分,或者可以將該下一個值放入數據系列還包括VBA腳本。只有一種可能的方法。什麼導致重新計算?我只是想知道,如果它是RND函數之一,在每個表格重新生成一個新的數字。如果可以移動的話。 –