Artik, I agree with you, and indeed it might be faster (I might even check for errors in x and y) but it shouldn't be necessary. x and y are always assigned something at each loop so I can't see that it is happening.
So noob93, there are many unknowns so I'd like to see more; can you attach a couple of files with your full code for this macro and any other macros/functions it might call as close to your real life files as you can?