循环使用Excel工作表并暂停每个工作表

时间:2013-05-23 14:11:24

标签: excel loops wait worksheet

我正在尝试做一些应该相对简单的事情,但我不能让它正常工作,我一直在杀Excel。

我有一张包含数据,支点和图表的工作簿。我想在选定数量的纸张之间循环,我已经设法做了,下面的代码,但我现在想要实现的是让它在每张纸上暂停10秒,然后再转到下一张纸。< / p>

Sub LoopThroughFlaggedSheets()

Dim StartIndex, EndIndex, LoopIndex, CountIndex As Integer

StartIndex = Sheets("Dashboard").Index
EndIndex = Sheets("Sales By Policy Type").Index
CountIndex = 5

For CountIndex = 1 To CountIndex
    For LoopIndex = StartIndex To EndIndex
        MsgBox Sheets(LoopIndex).Name

    Next LoopIndex
Next CountIndex
End Sub

所以目前它通过Dashboard和Sales By Policy Type之间的工作表循环5次,消息框只适合我,所以我知道它在做什么。我只需要暂停每张纸之间的任何指定时间段。我知道在LoopIndex循环中需要进行某些操作,但我不能为我的生活找出哪个和哪个命令。

干杯

1 个答案:

答案 0 :(得分:2)

编辑试试这个:

Sub LoopThroughFlaggedSheets()

Dim StartIndex, EndIndex, LoopIndex, CountIndex As Integer

StartIndex = Sheets("Dashboard").Index
EndIndex = Sheets("Sales By Policy Type").Index
'CountIndex = 5

'For CountIndex = 1 To CountIndex
    For LoopIndex = StartIndex To EndIndex
        'MsgBox Sheets(LoopIndex).Name

        Debug.Print Now()
        Debug.Print Sheets(LoopIndex).Name

        Application.Wait (Now + TimeValue("00:00:01"))

        Debug.Print Now()

    Next LoopIndex
'Next CountIndex

End Sub

我已取出您的CountIndex循环以阻止Wait运行25次。我把等待时间缩短到1秒,以显示原则。