VBA另存为崩溃

我有一个名为Summary.xlsmxlsm文件。 摘要文件从xlsx文件收集它所在的同一文件夹中的数据。摘要文件所在的文件夹应只包含名为IEM_######.xlsx (IEM_加上任意六位数字)的其他Excel文件,但有时其他Excel文件被错误地命名。

我试图创build一个macros来识别错误命名的文件,并相应地重命名它们。 macros命名和保存错误的工作簿,但它总是导致所谓的“死亡白屏”,Excel必须closures。 我一步一步地运行macros,SaveAS方法似乎是罪魁祸首。

这是违规的代码:

 Sub Rename() With Application .ScreenUpdating = False End With Dim FilesInPath As String, MyPath As String, MyFiles() As String, File As String, Number As String Dim i As Long Dim Wbk As Workbook MyPath = Application.ThisWorkbook.Path + "\" FilesInPath = Dir(MyPath) FNum = 0 Do While FilesInPath <> "" FNum = FNum + 1 ReDim Preserve MyFiles(1 To FNum) MyFiles(FNum) = FilesInPath FilesInPath = Dir() Loop MsgBox (FNum & " files were found.") For i = 1 To FNum File = MyPath & MyFiles(i) On Error Resume Next Set Wbk = Workbooks.Open(File) Workbooks(MyFiles(i)).Activate If Not ((ActiveWorkbook.Name Like "IEM_######.xl*") Or (ActiveWorkbook.Name Like "Summary.xlsm")) Then Number = Worksheets("Time allocation").Range("B7") Name = "IEM_" & Number & ".xlsx" ActiveWorkbook.SaveAs MyPath & Name End If Call Wbk.Close(True) Next End Sub 

任何想法可以做什么?

罪魁祸首可能实际上是Call Wbk.Close因为它也closuresCall Wbk.Close (其中包含macros),而“崩溃”实际上就是closures汇总Excel

^^这是问题 – macros现在好了!