There are certainly some odd things going on in there.

You keep recalculating LastCol and LastRow, but alwasy the same way. Why?

You seem to be loppong all columns within all rows within all columns within all rows within ... Again, why?