想让excel自打开起一直(每秒)不断刷新,用vba怎么写代码呢?

我希望不管是时间、日期或者是公式都会一直自动刷新,就像一直运行F9一样,而且处于非当前窗口时也一样不受影响。比如当我晚上零点过后进入第二天时,系统时间变了,一直开着的excel会自动更新日期并且参与其他单元格的公式计算。

ThisWorkBook 里面写:

Private Sub Workbook_Open()
freshtime
End Sub

然后新建模块里面写:

Sub freshtime()
Dim NewTime As Date
NewTime = Now + TimeValue("00:00:01")
Calculate
Application.OnTime NewTime, "freshtime"
End Sub

然后保存并重新打开表格,数据每秒自动刷新。

如果要不间断一直刷新,把 + TimeValue("00:00:01")去掉,但是会非常卡,无法操作。
原创,Excel 2016 亲测可行。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
实现这个功能比较占用系统资源哦,请谨慎使用。
Sub Run_it()
Application.OnTime TimeValue("00:00:01"), "shownowtime" '一旦开始运行后每隔一秒运行一次shownowtime这个宏
End Sub

sub shownowtime()
[a1] = now()‘每隔一秒a1单元格里的时间就更新一次,即可实现秒的实时动态更新
en sub追问

类似now()这样的函数只有在对表格进行操作时才会触发更新,我希望在工作表里运行一次vba代码就会自动更新(像F9)整个工作表内的所有单元格(包括时间、日期、其他公式之内的)。
麻烦老师您再帮我调整测试一下好吗?
而且,这个在thisworkbook 与模块内我都放了也不起作用。

本回答被网友采纳
第2个回答  2017-11-24
可以试试这个方法
Dim NewTime As Date
NewTime = Now + TimeValue("00:00:10")
ThisWorkbook.Save
Application.OnTime NewTime, "RunStoredMethodE1" “”里面的是宏名称

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网