I get that error on this line
Selection.AutoFill Destination:=Range("BT & HighPeriod, :BT" & lastRow), _
Type:=xlFillDefault
HighPeriod is an integer. Is it possible to use integers in both values of the Range.
It seems there's a typo in your code, you might want to test with:
Selection.AutoFill Destination:=Range("BT" & HighPeriod & ":BT" & lastRow), Type:=xlFillDefault
or
Selection.AutoFill Destination:=Range("BT" & HighPeriod, "BT" & lastRow), Type:=xlFillDefault
if you're sure about the rest.