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:
Change the A to whatever column will have the most rows, typically a key field.![]()
LastRow = Range("A" & Rows.Count).End(xlUp).Row to get the last row
Regards, TMS
Bookmarks