Błąd automatyzacji Excel VBA: Wywołany obiekt został odłączony od swoich klientów
Wiem, że widziałem wcześniej odniesienia do tego problemu, ale wypróbowałem kilka sugestii i wciąż otrzymuję błąd. Mam skoroszyt, który gromadzi dane z innej książki i generuje raport. Następnie chcę utworzyć nowy skoroszyt, skopiować informacje raportu do nowej książki, zapisać nową książkę i zamknąć ją, a następnie przejść do następnego raportu. Powinien to zrobić około 10 razy. W części mojego kodu, gdzie kopiuję i wklejam arkusze, pojawia się błąd
Błąd -2147417848 Błąd automatyzacji Wywołany obiekt został odłączony od swoich klientów
Sprawdziłem inne posty na temat tego błędu i wypróbowałem sugerowane rozwiązania bez żadnych wyników. ciekawostką jest to, że czasami udaje się przejść przez 5 cykli kodu przed złamaniem, czasem tylko 2. Jedyną konsekwencją jest to, że zawsze pęka w tym samym miejscu
fromBook.Sheets („Raport”). Kopiuj przed: = newBook.Sheets („Arkusz1”)
Mam opcję Wyraźny na górze modułu i sprawdziłem, aby upewnić się, że nie ma żadnych globalnych wewnątrz sub, do których się włamuje. Mówiąc to, jest całkowicie możliwe, że coś przeoczyłem. W pewnym momencie włożyłem też „timer”, aby upewnić się, że arkusze Excela nie przechodzą jeden nad drugim.
Naprawdę mógłbym skorzystać z pomocy!
Oto kod mojego sub:
Sub CreateAndSave(ByRef Reg As Integer, ByVal j As Integer)
Dim fromBook As Workbook
Dim fromSheet As Worksheet
Dim newBook As Workbook
Dim fileExists As Boolean
Dim i As Integer
Dim Holder As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set fromBook = Application.Workbooks("Region_Audit_Report")
Set newBook = Workbooks.Add
With newBook
.SaveAs Filename:="G:\DataTeam\ExcelDev\Audit Report\Region Workbooks\Region" & Reg & " " & Month(Date) & "-" & Day(Date) & "-" & Year(Date) & ".xlsx" _
, FileFormat:=xlOpenXMLWorkbook
End With
Set newBook = Application.Workbooks("Region" & Reg & " " & Month(Date) & "-" & Day(Date) & "-" & Year(Date) & ".xlsx")
fromBook.Sheets("Report").Copy Before:=newBook.Sheets("Sheet1")
fromBook.Sheets("MonthData").Copy After:=newBook.Sheets("Report")
newBook.Sheets("MonthData").Range("A1") = "Month"
newBook.Sheets("MonthData").Range("B1") = "Store#"
newBook.Sheets("MonthData").Range("C1") = "District"
newBook.Sheets("MonthData").Range("D1") = "Region"
newBook.Sheets("MonthData").Range("E1") = "Due Date"
newBook.Sheets("MonthData").Range("F1") = "Comp Date"
newBook.Sheets("MonthData").Range("G1") = "# of Errors"
newBook.Sheets("MonthData").Range("H1") = "Late?"
newBook.Sheets("MonthData").Range("I1") = "Complete?"
newBook.Sheets("MonthData").Range("A1:I1").Interior.ColorIndex = 43
newBook.Save
newBook.Close
Application.DisplayAlerts = True
End Sub