gpt4 book ai didi

vba - 连续循环刷新公式

转载 作者:行者123 更新时间:2023-12-04 20:41:04 26 4
gpt4 key购买 nike

我有一个使用 =Files 作为命名范围的工作表(所以我可以看到文件夹中的文件。然后我有一个 MOVE 按钮,可以将文件从一个文件夹移动到另一个文件夹。
当我单击命令按钮时,我告诉它执行移动并

ActiveSheet.EnableCalculation = False
ActiveSheet.EnableCalculation = True

这太棒了。
唯一的事情是当我点击移动按钮时只更新我的文件列表

反正有没有让这个功能一直工作?
无需点击按钮......
因此,只要文件打开,它就会始终执行刷新。

理想情况下,我可以告诉它每 X 秒执行一次……但这不是必需的。

最佳答案

基于您是 的事实仅限 在执行 的机器上使用此工作簿什么都没有否则,您可以将代码放在 workbook_open工作簿的事件(VBE 中的 ThisWorkbook 模块)并用 Do Loop 包围它如下所示。

Private Sub Workbook_Open()

Do

'code to move files

Application.Wait Now + TimeValue("0:05:00")) 'waits 5 minutes

Loop Until Time() >= TimeValue("17:00:00") '5pm military time

ThisWorkbook.Close True 'closes workbook after loop is over

End Sub

此代码将执行 只要你打开你的工作簿并且基本上一直持续到一天中定义的时间段,然后关闭工作簿,每 x 分钟暂停一次循环(由 Application.Wait 设置)。

替代方法

或者,正如 Tim Williams 建议的那样,您可以使用带有 Application.OnTime 的循环。像这样的命令
Private Sub Workbook_Open()

Dim t as Date
t = Now + TimeValue("00:00:05") 'just give a 5 seconds to start loop

Do

Application.OnTime t, "mySub" 'where mySub is your sub name

t = Now + TimeValue("00:05:00") 'sets t to 5 minutes from now

Loop Until t > = TimeValue("17:00:00")

ThisWorkbook.Close True

End Sub

关于vba - 连续循环刷新公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33399238/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com