Sample WorkbookI have repeating macros that freeze with an error after running 500 to 600 times through. The number of times I need it to run will change every time but mostly be around 2000 times.Error Notice
Line of code it stops onMaE.png
The entire code is below, multiple macros running after each other and calling others until report completes. It runs fine if it runs less than 500 times.
Sub Start_New_Report()
'
' Start_New_Report Macro
' Clear Old data and prepare for new lines.
'
Application.ScreenUpdating = False
Sheets("Filtered Report").Select
Range("A2:I1048576").Select
Selection.ClearContents
Range("A2").Select
ActiveCell.FormulaR1C1 = "1"
Call Filter_Data
End Sub
Sub Filter_Data()
' Filter raw Syteline data to usable lines
Worksheets("Filtered Report").Range("B2").Value = _
Worksheets("PurchaseOrderStatus").Range("A5:E5").Value
Worksheets("Filtered Report").Range("C2").Value = _
Worksheets("PurchaseOrderStatus").Range("A6:C6").Value
Worksheets("Filtered Report").Range("D2").Value = _
Worksheets("PurchaseOrderStatus").Range("A7:F7").Value
Worksheets("Filtered Report").Range("E2").Value = _
Worksheets("PurchaseOrderStatus").Range("J5").Value
Worksheets("Filtered Report").Range("F2").Value = _
Worksheets("PurchaseOrderStatus").Range("O7").Value
Worksheets("Filtered Report").Range("G2").Value = _
Worksheets("PurchaseOrderStatus").Range("P6:R6").Value
Worksheets("Filtered Report").Range("H2").Value = _
Worksheets("PurchaseOrderStatus").Range("P7:T7").Value
Worksheets("Filtered Report").Range("I2").Value = _
Worksheets("PurchaseOrderStatus").Range("V7").Value
Call Clear_Raw_Data
End Sub
Sub Clear_Raw_Data()
' Clear Raw Data Lines
Sheets("PurchaseOrderStatus").Select
Rows("5:7").Delete
Call Blank_Cells
End Sub
Sub Blank_Cells()
' Check if blank cells exist in current line
Sheets("Filtered Report").Select
Range("B2").Select
If IsEmpty(Range("B2").Value) Then
Call Copy_Up
Else
Call Blank_Cells_Raw_Data
End If
End Sub
Sub Copy_Up()
'
' Copy Data Up from line below if cells are empty.
'
Range("B3:D3").Copy Range("B2:D2")
Call Blank_Cells_Raw_Data
End Sub
Sub Blank_Cells_Raw_Data()
Sheets("PurchaseOrderStatus").Select
Range("V5").Select
If IsEmpty(ActiveCell.Value) Then
Call Finalize_Report
Else
Call Clear_for_Next_Line
End If
End Sub
Sub Clear_for_Next_Line()
'
' Clear_for_Next_Line Macro
'
' Insert_line Macro
Sheets("Filtered Report").Select
Range("2:2").Insert CopyOrigin:=xlFormatFromRightOrBelow
' Create next index number
Worksheets("Filtered Report").Range("A2").Value = _
Worksheets("Filtered Report").Range("A3").Value + 1
Call Filter_Data
End Sub
Sub Finalize_Report()
'
' Finalize_Report Macro
' Finish report and sort the order.
'
Sheets("Filtered Report").Select
Range("A1") = "Index"
Columns("A:I").Sort key1:=Range("A2"), _
order1:=xlAscending, Header:=xlYes
End Sub