繁体   English   中英

VBA for excel运行宏

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM