运行大量VBA后打印预览问题

tjb*_*jb1 7 excel vba excel-vba

我有一个Excel工作簿,几乎所有内容都是自动化的.它打开其他工作簿,从中复制数据,关闭它们,然后多次循环数据以生成我们打印和使用的报告.几乎每次运行所有VBA然后尝试打印之后,打印预览都会卡住,无论是找到打印机还是加载页面大小,如图所示.关闭Excel并重新打开文档可将打印预览恢复为正常功能.VBA唯一与打印相关的是改变打印区域.我没有遇到任何其他运行VBA的文档的问题.这只是一个错误或代码中的某些内容吗?

问题

这是导致打印预览无法以某种方式加载的代码.如果我跳过这一部分然后按预期工作...我希望以某种方式使用此代码功能,因为它仍然需要.

    Set wb1 = Workbooks.Open(FileName)
    Set wb2 = ThisWorkbook

    For i = LBound(sArray) To UBound(sArray) 'Loops through array, copies available data from last report
        ShtName = sArray(i, 0)
        On Error Resume Next
            wb1.Sheets(ShtName).Activate
            If Err.Number = 0 Then
                wb1.Sheets(ShtName).Activate
                Columns("A:U").Copy
                wb2.Sheets(ShtName).Activate
                Columns("BE:BV").Select
                Selection.PasteSpecial xlPasteValues
                Application.CutCopyMode = False
                lastrow = Cells(Rows.Count, "BE").End(xlUp).Row
                Range("BA2:BC2").Select
                Selection.AutoFill Destination:=Range(Cells(2, "BA"), Cells(lastrow, "BC")), Type:=xlFillDefault
            End If
        On Error GoTo 0

        DoEvents

    Next i

    wb1.Close False

    Sheet2.Activate
Run Code Online (Sandbox Code Playgroud)

我已经尝试评论"On Error Resume Next","On Error Goto 0","If ...","End If"和"DoEvents".打印预览仍然无法删除,只是从上一页进行复制和粘贴.

tjb*_*jb1 3

似乎删除所有实例DoEvents已经解决了问题......

打印预览工作正常,退出工作簿时 Excel 不再崩溃。