复制工作表时Excel VBA崩溃
Excel在下面的“ws.Copy”代码行崩溃 详情:复制工作表时Excel VBA崩溃,vba,excel,Vba,Excel,Excel在下面的“ws.Copy”代码行崩溃 详情: 在我的2500行代码中,大约80%的时间调用此函数 仅在运行完整代码时,单独运行相关子例程时不会发生崩溃 我正在Excel 2013上运行此函数 我可以手动复制工作表,而不会使Excel崩溃 它将在运行脚本和单步执行(F8)时崩溃 该程序仅在Windows计算机上运行时崩溃 它并不总是崩溃,只是随机开始发生 我所尝试的: 我在函数调用前后都尝试了“DoEvents” 我试过“申请,等等” Function Copy_模板(dic
- 在我的2500行代码中,大约80%的时间调用此函数
- 仅在运行完整代码时,单独运行相关子例程时不会发生崩溃
- 我正在Excel 2013上运行此函数
- 我可以手动复制工作表,而不会使Excel崩溃
- 它将在运行脚本和单步执行(F8)时崩溃
- 该程序仅在Windows计算机上运行时崩溃
- 它并不总是崩溃,只是随机开始发生
- 我在函数调用前后都尝试了“DoEvents”
- 我试过“申请,等等”
Function Copy_模板(dict As Collection)
Dim-strKey作为变体
将ws设置为工作表
设置ws=图纸(“模板”)
对于dict中的每个strKey
如果是斯特基,那么
“Windows机器在这条线上无缘无故地崩溃了!!!
ws.Copy After:=工作表(“摘要”)
ActiveSheet.Name=strKey
如果结束
下一个
端函数
我认为这可能与正在复制的工作表中复杂公式的数量有关,但我不能确定。我认为这可能与正在复制的工作表中复杂公式的数量有关,但我不能确定。
Option Explicit
...
Function Copy_Template(dict As Collection)
Dim strKey As Variant
Dim ws As Worksheet
Set ws = Sheets("Template")
For Each strKey In dict
If strKey <> "" Then
' Windows machine is crashing at this line for no reason!!!
ws.Copy After:=Sheets("Summary")
ActiveSheet.Name = strKey
End If
Next
End Function