在Excel单元格中累积更改值

我目前正在使用实时数据在Excel中运行交易algorithm,所以我的A1单元格的值不断变化。

例如:

A1 = 3 at 930 A1 = 2 at 931 A1 = 100 at 932 

A1s的价值在整个变化,我想不断增加这些价值。

所以在我的例子中,答案是105。

有什么办法可以在excel中累积单元格A1的值吗? 我不在乎时间,我只需要价值。

我没有改变价值的VBA。 它实际上是一个彭博terminal加载项,是喂养的数据。

谢谢。

使用工作表更改事件并将结果保存到不同的单元格中。 将这些代码放在问题表中的代码中。

 Private Sub Worksheet_Change(ByVal Target As Range) Static lLong As Long If Cells(1, 1).Value <> lLong Then lLong = Cells(1, 1).Value Cells(2, 1).Value = Cells(2, 1).Value + Cells(1, 1).Value End If End Sub 

编辑:

确定阅读jerussels评论后,我看到它需要更复杂一点。 您需要将variables存储为全局variables,并且必须使用工作簿打开事件来存储初始值。

另外tigeravatar说,如果有分数的机会,它可能是最好的。

所以你需要一个标准模块的顶部

 dim gdDouble as double 

在工作簿代码中,您需要:

 Private Sub Workbook_Open() gdDouble = Sheets("sheet1").Cells(1, 1).Value End Sub 

用纸张名称replace“sheet1”。

在你需要的工作表中

 Private Sub Worksheet_Change(ByVal Target As Range) If Cells(1, 1).Value <> gdDouble Then gdDouble = Cells(1, 1).Value Cells(2, 1).Value = Cells(2, 1).Value + Cells(1, 1).Value End If End Sub