2

我对 VBA 编程非常陌生。

我有一个 Excel 表,其中实时数据填充到一个单元格中,例如每秒 Sheet1.A6。

我需要一个每 1 分钟运行一次的宏,以将 Sheet1.A6 值以及 Sheet2.A 中的时间戳和 Sheet2.B 中的时间戳复制到另一张工作表中。

Sheet2 输出会像

价值*时间

23.1 * 上午 11:00

22.5 * 上午 11:01

22.6 * 上午 11:02

……………………………………………………………………

谢谢你的帮助。

4

2 回答 2

1

您希望每分钟运行一些代码。

您应该能够使用Application.OnTime函数执行此操作。

以下是一些参考资料和示例:

首先创建将单元格复制到目标工作表的过程。

然后在一个普通的模块中你可以这样调用它:

Sub SetTimeForCopy()
    dim nextTime as date
    nextTime = Now + TimeValue("00:01:00")
    Application.OnTime TimeToRun, "CopyValue"
End Sub

像这样复制值:

Sub CopyValue()
    application.Calculate
    worksheets("Sheet2").Range("c" & Cells(Rows.Count, 1).End(xlUp).Row+1).Value = Worksheets("Sheet1").Range("A6").Value
    Call SetTimeForCopy' call the schedule code again
End Sub

注意,在CopyValue中调用了SetTimeForCopy过程,该过程将安排下一次复制。

于 2013-05-23T14:23:12.393 回答
0

为什么要移动实时数据点?使用变量来标识每个连续条目的计算位置。[您可以使用 OFFSET 和 COUNTA 函数重新计算变量的单元格位置。] 使用 Worksheet.Change 事件在相邻单元格中生成时间戳值。

于 2013-05-27T22:09:05.407 回答