Hi all, Im fairly new to this and i have created the code below, which looks up a workbook (backlog.xls) using 3 differnt criteria from (Order Template.xls).
The Backlog file would normaly have over 12000 row and the Order file would normaly have in a max of 500 rows.
When I run the code below it takes an eternity to run!! I have attached the files below in hope that someone can give me a quicker way!
Thanks in advance
Sub Macro1()
Range("H3").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C8)*(Backlog.xls!R2C3:R65000C3=R2C8)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C9)*(Backlog.xls!R2C3:R65000C3=R2C9)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C10)*(Backlog.xls!R2C3:R65000C3=R2C10)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C11)*(Backlog.xls!R2C3:R65000C3=R2C11)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C12)*(Backlog.xls!R2C3:R65000C3=R2C12)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C13)*(Backlog.xls!R2C3:R65000C3=R2C13)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C14)*(Backlog.xls!R2C3:R65000C3=R2C14)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C15)*(Backlog.xls!R2C3:R65000C3=R2C15)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C16)*(Backlog.xls!R2C3:R65000C3=R2C16)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C17)*(Backlog.xls!R2C3:R65000C3=R2C17)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C18)*(Backlog.xls!R2C3:R65000C3=R2C18)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-11]:RC[-1])"
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C21)*(Backlog.xls!R2C3:R65000C3=R2C21)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C22)*(Backlog.xls!R2C3:R65000C3=R2C22)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C23)*(Backlog.xls!R2C3:R65000C3=R2C23)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C24)*(Backlog.xls!R2C3:R65000C3=R2C24)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C25)*(Backlog.xls!R2C3:R65000C3=R2C25)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C26)*(Backlog.xls!R2C3:R65000C3=R2C26)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C27)*(Backlog.xls!R2C3:R65000C3=R2C27)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C28)*(Backlog.xls!R2C3:R65000C3=R2C28)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C29)*(Backlog.xls!R2C3:R65000C3=R2C29)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C30)*(Backlog.xls!R2C3:R65000C3=R2C30)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Backlog.xls!R2C1:R65000C1=RC3)*(Backlog.xls!R2C2:R65000C2=R1C31)*(Backlog.xls!R2C3:R65000C3=R2C31)*(Backlog.xls!R2C4:R65000C4))"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=SUM(RC[-11]:RC[-1])"
Range("H3").Select
'==============
Dim mystring
ActiveCell.Offset(1, -1).Select
mystring = Selection
'ActiveCell.Offset(0, 1).Select
'mystring = Selection
Do Until mystring = ""
If mystring <> "" Then
ActiveCell.Offset(0, 1).Select
Range("CRange").Copy
' Selection.Copy
ActiveSheet.Paste
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(1, -1).Select
mystring = Selection
'ActiveCell.Offset(0, -3).Select
Else
End If
Loop
Range("CRange").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("a1").Select
End Sub
Bookmarks