Try:
Activesheet.UsedRange.printout
I can't think of way to code that sumproduct formula efficiently. I'd probably approach it by assigning the formula it to a cell and then reading the cell value.