No, it is the fact that UsedRange is unreliable. However, it is reflecting what happens on a worksheet when you delete rows and press Ctrl-End.

You are better using:

LastRow = Range("A" & Rows.Count).End(xlUp).Row to get the last row
Change the A to whatever column will have the most rows, typically a key field.


Regards, TMS