工作簿打开后立即使用Application.Wait
打开后,我需要我的工作簿才能显示某种颜色。 然后5秒后,我想要改变颜色。 所以我实现了以下代码:
Private Sub Workbook_Open() Application.ActiveSheet.Cells.Interior.ColorIndex = 4 Application.Wait (Now + TimeValue("0:00:05")) Application.ActiveSheet.Cells.Interior.ColorIndex = 5 End Sub
但是,当我点击我的文件,加载5秒,然后打开并只显示第二种颜色。 我如何解决这个问题,同时仍然使用application.wait。
我testing了这个,它工作。
在Workbook_Open中使用它
Private Sub Workbook_Open() 'Schedules a procedure to be run at a specified time in the future '(either at a specific time of day or after a specific amount of time has passed). Application.OnTime Now + TimeValue("00:00:01"), "DoThis" End Sub
把它放在一个模块中。 不是这个工作或它不会工作
Private Sub DoThis() Application.ActiveSheet.Cells.Interior.ColorIndex = 4 Application.Wait (Now + TimeValue("0:00:05")) Application.ActiveSheet.Cells.Interior.ColorIndex = 5 End Sub
要直接回答提出的问题,这里是一个解决方法,而不使用OnTime
如果你真的,真的必须…
在Workbook_Open
之后立即触发事件是可能的。 您可以通过操作Workbook_Open
子中的活动Worksheet_Activate
来强制执行一个Worksheet_Activate
事件。 然后,您可以在Worksheet_Activate
使用原始的Application.Wait
代码。
Private Sub Workbook_Open() Application.ActiveSheet.Cells.Interior.ColorIndex = 4 Sheets(2).Activate Sheets(1).Activate End Sub Private Sub Worksheet_Activate() Application.Wait (Now + TimeValue("0:00:05")) Application.ActiveSheet.Cells.Interior.ColorIndex = 5 End Sub