我正在尝试做一些应该相对简单的事情,但我不能让它正常工作,我一直在杀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循环中需要进行某些操作,但我不能为我的生活找出哪个和哪个命令。
干杯
答案 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秒,以显示原则。