2017-05-29 99 views
1

我目前有一个非常简单的工作表,设置了一个条形码扫描器,用户在其中扫描他/她的条形码以“运行”和“运行时间”定时器(我在'行公式中'使用'= now() - 时钟)。自动刷新Excel单元格值/公式

我的问题是,“经过的持续时间”单元格中的值不会自动刷新,我必须手动单击它并重新提交公式以获取更新的经过时间。有没有一种方法可以将此自动化?

附加屏幕截图了解详情。

谢谢!

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

+0

您不必实际重新提交公式。工作表上的任何更改都会重新计算它。只需点击并移出任何单元格即可重新计算它。点击F9也会做同样的事情。 –

+0

@NiteshHalai感谢您的评论,我只是试了一下,虽然这似乎是一个合理的解决方案,但它并不完全适合我正在运行的操作:/是否有任何函数间歇性地刷新它? –

+0

你打算使用宏吗? –

回答

0

的目标可以通过两个简单的VBA类函数来achived。一个必须附加到Workbook.Open事件,第二个添加到新添加的模块。

下面是从Open事件代码(按Alt + F11,打开的ThisWorkbook代码,并将代码粘贴):

Private Sub Workbook_Open() 

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

End Sub 

其次在新的模块(右键单击Microsoft Excel中的对象,选择插入 - >模块和粘贴有代码):

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”)定义清爽之间的间隔,范围( “L:L”)定义列被刷新。

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

相关问题