自动刷新Excel单元格值/公式

时间:2017-05-29 08:25:29

标签: excel

我目前有一个非常简单的工作表设置了条形码扫描仪,用户可以在其中扫描他/她的条形码,然后在#34;并且"时钟输出"运行时间过长"计时器(我使用' = now() - 时钟在'行公式中)。

我的问题是,"经过的持续时间"单元格不会自动刷新,我必须手动单击它,然后重新提交公式以获取更新的已用时间。有没有办法让我自动化?

附上截图以了解详情。

谢谢!

https://i.stack.imgur.com/zeltT.png

1 个答案:

答案 0 :(得分:0)

目标可以通过2个简单的VBA功能实现。一个必须附加到Workbook.Open事件,第二个添加到新添加的模块。

以下是来自Open事件的代码(Alt + F11,打开ThisWorkbook代码并粘贴代码):

Private Sub Workbook_Open()

    alertTime = Now + TimeValue("00:02:00")
    Application.OnTime alertTime, "EventMacro"

End Sub

新模块中的第二个(右键单击Microsoft Excel Objects,选择Insert-> Module并粘贴代码):

Public Sub EventMacro()
Dim rng As Range

    Set rng = ThisWorkbook.Sheets(1).Range("L:L")
    rng.Calculate
    ' Here refresh interval can be changed
    alertTime = Now + TimeValue("00:02:00")
    Application.OnTime alertTime, "EventMacro"
End Sub

TimeValue(“00:02:00”)定义刷新之间的间隔,Range(“L:L”)定义要刷新的列。

编辑: 当然,工作簿必须保存为.xlsm才能启用VBA代码。