WPS excel表格中,如何使用VBA让AA1单元格的位置自动每一秒获取时间呢?

之前单纯用函数NOW时,表格不能每一个都自动获取,需要表格有改动时才会重新获取,就比较麻烦,本人没用过VBA,请教一下大神如何弄这个VBA呢?谢谢

按ALT+F11打开VBA开发界面,按CTRL+R打开工程管理器,点鼠标右键添加模块,粘贴下面的程序代码:

Option Explicit
Sub 刷新时间()
Dim t
t = Now
Range("a1") = t
Application.OnTime t + 1 / 24 / 3600, "刷新时间"
End Sub

粘贴后如下图:

这样就可以,执行一次这个宏,A1里面的时间就会按秒更新,录屏几秒看看:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-12-10

你想要的每一秒都刷新就太贪心了, vba是单线程的, 每一秒都刷新会占用线程影响你操作表格.

个人感觉比较好的方法是"单元格选择改变"事件来刷新时间会好一点, 当你选择单完格发生变化时就自动刷新时间.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    [AA1].Value = Format(Now(), "hh:mm:ss")

End Sub

本回答被提问者采纳