Excel – 将计算结果作为新行保存在单独的工作表中

我有一个相当复杂的工作簿,不太直截了当的计算使用分布平均。 在工作簿的末尾是特定单元格中的结果值。 每次工作簿重新计算该值稍有变化。 每当我重新计算一个新的单元格时,是否有办法保存所有这些值? 理想情况下,我想这样做100多次,以便能够绘制一个图表对可能的值,并得到一个平均值。

macros将能够做这个工作吗? 如果是的话,我从哪里开始?

谢谢!

您必须订阅Workbook Calculate事件。 为此,请按ALT + F11打开VBE。 在左侧,您应该看到Project Explorer树形视图(如果没有,请按CTRL + R )。 右键单击ThisWorkbook ,然后selectView Code 。 这将打开一个文本编辑器窗口。 在这个窗口的顶部,有两个下拉框。 在左侧下拉列表中selectWorkbook 。 在右侧的下拉列表中,selectSheetCalculate

现在,工作簿将在每次计算时执行一个操作。 下面,我有一个示例脚本。 在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