Hi All,
I am looking to reduce the run time in the below VBA code. The data size its applied is around 5000 rows.
Is there any better way to design these to reduce the processing time.
Dim ws3 As Worksheet
Dim lRow3 As Long
Set ws3 = ThisWorkbook.Sheets("Output_Report")
With ws3
lRow3 = .Range("G" & .Rows.Count).End(xlUp).Row
For i = 2 To lRow3
.Cells(i, 8).FormulaR1C1 = _
"=IF(RC[-6]<>"""",CONCATENATE(RC[-1],"" "",RC[-6]),IF(RC[-7]<>"""",CONCATENATE(RC[-1],"" "",RC[-7]),CONCATENATE(RC[-1],"" ---"")))"
.Cells(i, 9).FormulaR1C1 = _
"=IFERROR(AGGREGATE(15,6,Diff_Names!C5/((Diff_Names!C2=RC[-2])*(Diff_Names!C3=RC[-4])),1),""N/A"")"
.Cells(i, 10).FormulaArray = _
"=IFERROR(INDEX(Diff_Names!C6,MATCH(RC[-3]&RC[-5]&RC[-1],Diff_Names!C2&Diff_Names!C3&Diff_Names!C5,0),1),""N/A"")"
.Cells(i, 8).Select
Range(Selection, ActiveCell.Offset(0, 2)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Next i
End With
Bookmarks