对于一系列细胞,连续计算两个细胞之间的差异

时间:2016-01-13 05:19:00

标签: excel-vba vba excel

我的目标是每秒捕捉股票报价的变化。

Sheet包含实时数据(这是一个地址)。 Sheet2空白。当我运行宏时,静态单元格值被记录(因此xlPasteValues)到Sheet2。此宏每秒使用Application.OnTime运行,以便每秒创建一个跨越2195列的新行,其中包含每个股票报价的静态单元格值。我已成功设法使用下面的第一个代码创建它。 Range("B2:B2195")是股票代码,而Range("H2:H2195")是股票报价。

Sub copypaste_RECENT()

Dim ab As Integer

Worksheets("Sheet").Range("B2:B2195").Copy

With Sheets("Sheet2")
    .Range("B1").PasteSpecial Transpose:=True

    ab = .Cells(.Rows.Count, 1).End(xlUp).Row + 1

    .Cells(1, 1).Value = "Time"
    .Cells(ab, 1).Value = Now

    Worksheets("Sheet").Range("H2:H2195").Copy
    .Range("B" & ab).PasteSpecial Paste:=xlPasteValues, Transpose:=True

End With

Application.OnTime Now + TimeSerial(0, 0, 1), "copypaste_RECENT"

End Sub

每秒捕捉股票报价的变化。它实际上是一个简单的计算,即下面引用的公式。但是因为Sheet2不断更新,我还需要创建一个宏来同时运行Sheet2,记录所有2195的值每秒的变化(特定单元格与其上方单元格之间的差异)列。

如何将特殊数学函数与VBA编码结合起来呢?

例如在Sheet3上:

B2=Sheet2!B3-Sheet2!B2
B3=Sheet2!B4-Sheet2!B3
C2=Sheet2!C3-Sheet2!C2
C3=Sheet2!C4-Sheet2!C3

依旧......

Sheet2, Static data that has been copy pasted from Sheet1. As the image was taken while the market is closed. The change in value (difference between the cells) should all be 0.

0 个答案:

没有答案