我有一个非常复杂的工作簿,并没有使用分布均值进行直接计算。在工作簿的末尾是特定单元格中的结果值。每次工作簿重新计算该值略有变化。每次重新计算到新单元格时,有没有办法可以保存所有这些值?理想情况下,我想这样做100次,以便能够根据可能的值绘制图表并获得平均值。
宏可以做这个工作吗?如果是的话......我从哪里开始?
谢谢!
答案 0 :(得分:1)
您必须订阅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