我的目标是每秒捕捉股票报价的变化。
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
依旧......