Excel崩溃设置工作表可见性

以下代码在我的大型工作簿中始终使Excel 2016崩溃

Dim ws As Worksheet Dim wb As Workbook For Each ws In wb.Worksheets ws.Visible = xlSheetVisible Next ws 

单步执行代码后,我发现它在几十张工作表上运行后崩溃,而不是在任何特定的工作表上。 当它崩溃,我需要从任务pipe理器杀死Excel,它有时会崩溃的Windows 10本身的BSOD。 我怀疑某种堆栈溢出问题。 我已经尝试遍历一个工作表名称列表,而不是相同的结果。 有任何想法吗?

也许你应该尝试

 newHour = Hour(Now()) newMinute = Minute(Now()) newSecond = Second(Now()) + x waitTime = TimeSerial(newHour, newMinute, newSecond) Application.Wait (waitTime) 

在你的循环内find一些合理的x值(也许是5)。 我怀疑编译器是“优化”和堆叠一堆应用程序请求,这是超时的系统。

PS我希望你知道ws不应该被宣布,而wb应该被设置为一个工作簿,因为这些会导致问题。