2017-05-29 100 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代碼。

相關問題