It's 99% certain to be one of the things mentioned by Okami/myself.
Try adding these three lines directly after your .Copy line (but before the PasteSpecial line):
Workbooks("Centris Periods.xlsm").Activate 'errors if you have the workbook name wrong or the book isn't open.
ActiveWorkbook.Sheets(Sh).Activate 'errors if the sheet name is wrong.
Range("D15:I214").Select 'this will fail if the code is in a sheet's code module and that sheet isn't Workbooks("Centris Periods.xlsm").Sheets(Sh)
These three lines are just temporary for debugging, you should remove them later.
As an aside, both your With…End With blocks are currently redundant; you're missing some dots:
With ActiveWorkbook.Sheets("INV ACC")
Set Rng1A = .Range("D15:I214")
Set Rng2A = .Range("M15:W214")
End With
With ActiveWorkbook.Sheets("INV INPUT")
Set Rng1I = .Range("H15:L214")
Set Rng2I = .Range("S15:Y214")
End With