以下代码一直在我的大型工作簿上崩溃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。我怀疑某种堆栈溢出问题。我试过迭代遍历工作表名称列表,但结果相同。有什么想法吗?
答案 0 :(得分:0)
也许你应该试试
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + x
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait (waitTime)
在你的循环中获得一些合理的x值(可能是5)。我怀疑编译器是"优化"并堆叠一堆应用程序请求,这会使系统超时。
PS我希望你知道不应该声明ws并且应该将wb设置为工作簿,因为这会导致问题。