The problem is being caused because you're deleting the row instead of clearing it. I thought of hiding every row without data but I don't think you want that, because then people couldn't add tasks. Also, it's a little resource intensive. Instead I'm just hiding the rows below that might get unhidden.
If you didn't mind blank space, you could clear the row instead of deleting it and that would fix your problem. Maybe if you looped through the rows in the UsedRange that were below the target row and moved the values up in each. Either way, the solution I have isn't elegant, but it works for me.
Bookmarks