我正在尝试编写一个宏,只有在规定的时间后才会在活动工作表之间进行更改。
我有几个隐藏的工作表,目前,这段代码会将我循环到最后一张可见的工作表,然后在该工作表上暂停一段时间,以便循环显示隐藏的工作表。所以我最后看到我最后一张可见的纸张比其他纸张长几倍。
这是我的代码。
Public Sub Switch()
Dim ws As Worksheet
Do
For Each ws In ThisWorkbook.Worksheets
ws.Activate
Application.Wait Now() + TimeValue("00:00:05")
DoEvents
Next ws
Loop
End Sub
任何帮助都会很棒!
答案 0 :(得分:3)
使用工作表的Visible
属性:
Public Sub Switch()
Dim ws As Worksheet
Do
For Each ws In ThisWorkbook.Worksheets
If ws.Visible = xlSheetVisible Then
'Only process things if the sheet is visible
ws.Activate
Application.Wait Now() + TimeValue("00:00:05")
DoEvents
End If
Next ws
Loop
End Sub