Distribution formula in column J corrected to make absolute references so it doesn't break when copied to a different column during macro...J3 copied down:
=IF(OR(NOT(ISNUMBER($F3)),ISNA(MATCH($E3,Totals!$A:$A,0))),"",$F3*VLOOKUP($E3,Totals!$A:$C,3,0))
Your sheet was too massive to really pull apart. Instead, I just created a simple macro to grab the data from Distribution between two dates entered and put them on the In_Progress_Report sheet as you had described.
I figured this was enough for you to see a way to copy just the rows you wanted, and perhaps see another way to grab data en masse from one sheet and put it in another without loops.
Option Explicit
Sub CopyMacroSample()
'Copies rows from Distribution list to InProgressReport
'based on date range (JBeaucaire)
Dim Date1 As Date, Date2 As Date, LR As Long
Date1 = Application.InputBox("What is the start date?", Type:=2)
Date2 = Application.InputBox("What is the end date?", Type:=2)
'Clear old report
Sheets("In_Progress_Report").Range("A3:J" & Rows.Count).Clear
'Filter data based on dates chosen
Sheets("Distribution").Activate
LR = Range("A" & Rows.Count).End(xlUp).Row
Range("A2").AutoFilter Field:=3, Criteria1:=">=" & Date1, Operator:=xlAnd, _
Criteria2:="<=" & Date2
'Copy data ranges and remove autofilter
Range("A3:F" & LR).SpecialCells(xlCellTypeVisible).Copy Sheets("In_Progress_Report").Range("A3")
Range("I3:J" & LR).SpecialCells(xlCellTypeVisible).Copy Sheets("In_Progress_Report").Range("G3")
Range("N3:O" & LR).SpecialCells(xlCellTypeVisible).Copy Sheets("In_Progress_Report").Range("I3")
Range("A2").AutoFilter
'Review New Report
Sheets("In_Progress_Report").Activate
Columns("A:J").Columns.AutoFit
Range("N1") = Format(Date1, "M/D/YYYY")
Range("O1") = Format(Date2, "M/D/YYYY")
Range("A1").Select
End Sub
Hope this helps.
Bookmarks