You don't say where you get the error but I guess it's here:

Set Fill = (cr)

This should probably be:

Set Fill = Range(c & r)

Regards, TMS