Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制工作表时Excel VBA崩溃_Vba_Excel - Fatal编程技术网

复制工作表时Excel VBA崩溃

复制工作表时Excel VBA崩溃,vba,excel,Vba,Excel,Excel在下面的“ws.Copy”代码行崩溃 详情: 在我的2500行代码中,大约80%的时间调用此函数 仅在运行完整代码时,单独运行相关子例程时不会发生崩溃 我正在Excel 2013上运行此函数 我可以手动复制工作表,而不会使Excel崩溃 它将在运行脚本和单步执行(F8)时崩溃 该程序仅在Windows计算机上运行时崩溃 它并不总是崩溃,只是随机开始发生 我所尝试的: 我在函数调用前后都尝试了“DoEvents” 我试过“申请,等等” Function Copy_模板(dic

Excel在下面的“ws.Copy”代码行崩溃

详情:

  • 在我的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