Excel崩溃设置工作表可见性

Excel崩溃设置工作表可见性,excel,vba,crash,Excel,Vba,Crash,下面的代码在我的大工作簿上持续崩溃Excel 2016 Dim ws As Worksheet Dim wb As Workbook For Each ws In wb.Worksheets ws.Visible = xlSheetVisible Next ws 通过逐步查看代码,我发现它在对几十个工作表进行操作后崩溃,但在任何特定的工作表上都没有。当它崩溃时,我需要从任务管理器中删除Excel,有时它会将Windows 10本身崩溃到BSOD。我怀疑有某种堆栈溢出问题。我试着遍历一个

下面的代码在我的大工作簿上持续崩溃Excel 2016

Dim ws As Worksheet
Dim wb As Workbook
For Each ws In wb.Worksheets
    ws.Visible = xlSheetVisible
Next ws
通过逐步查看代码,我发现它在对几十个工作表进行操作后崩溃,但在任何特定的工作表上都没有。当它崩溃时,我需要从任务管理器中删除Excel,有时它会将Windows 10本身崩溃到BSOD。我怀疑有某种堆栈溢出问题。我试着遍历一个工作表名称列表,结果是一样的。有什么想法吗?

也许你应该试试

newHour = Hour(Now()) 
newMinute = Minute(Now()) 
newSecond = Second(Now()) + x
waitTime = TimeSerial(newHour, newMinute, newSecond) 
Application.Wait (waitTime)
在你的循环中寻找一些合理的x值(可能是5)。我怀疑编译器正在“优化”和堆叠一堆应用程序请求,这会使系统超时


PS我希望您知道不应该声明ws,而应该将wb设置为工作簿,因为这会导致问题。

尝试
ws.Visible=true
?我怀疑存在某种堆栈溢出问题-我希望有某种解决方案=)