在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