Excel - 将计算结果保存为单独工作表上的新行

时间:2016-04-26 12:37:16

标签: excel excel-vba excel-formula vba

我有一个非常复杂的工作簿,并没有使用分布均值进行直接计算。在工作簿的末尾是特定单元格中的结果值。每次工作簿重新计算该值略有变化。每次重新计算到新单元格时,有没有办法可以保存所有这些值?理想情况下,我想这样做100次,以便能够根据可能的值绘制图表并获得平均值。

宏可以做这个工作吗?如果是的话......我从哪里开始?

谢谢!

1 个答案:

答案 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