Things like Range("A65000") and just Cells(...) not tied to a specific worksheet (e.g. Worksheets("Data").Cells (1,2)) I find will cause trouble later or that the macro is old and written in Excel 2003 originally
I got this originally from the internet, I am relatively new to excel vba but i've been using it for about a month now so I don't know too much about how to make the code simpler and more efficient. I see, what you are trying to say, for example if I wanted to expand even further on this code and have different functionalities in different worksheets so using "Worksheets("Data").Cells (1,2)" this notation will prevent problems from occuring..

Why would you want 3 steps instead of just 1?
usually, I like to see how the code is made up when it's written simply which again ties to what I said above being new and all...I want to learn more about how your code is written it's just a lot of new things are written in it so I don't know what's going on..