[英]VBA for excel running Macros
我在excel中有一个宏运行表,其中显示的数据已连接到外部数据库。 我正在尝试在宏运行时随数据源更新而刷新显示的数据。 明确地说,通过“运行”,我的意思是宏在工作簿中显示每个工作表几秒钟,然后循环播放。
这是代码:
Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As
Long) As Integer
Public Sub Switch()
Dim ws As Worksheet
Do
For Each ws In ThisWorkbook.Worksheets
ws.Activate
Application.Wait Now() + TimeValue("00:00:05")
If GetAsyncKeyState(vbKeyShift) Then Exit Sub
DoEvents
Next ws
Loop
End Sub
我尝试在“下一个ws”之前插入ActiveWorkbook.RefreshAll,也尝试在同一位置使用ThisWorkbook.RefreshAll。
截至目前,当我被告知数据已更新时,我停止运行宏,这将刷新数据,然后再次运行宏。 这就是我要避免做的事情。
预先感谢您的帮助。
谢谢,
德里克
您可以在执行宏的过程中打开或关闭屏幕更新。 启用该宏后,其运行速度会降低。
Application.ScreenUpdating = True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.