I've noticed the same problem (code running fine in 2010 running noticeably slower in 365). I would be very interested to learn how this could be improved.
In regards to your sample code, I can see a few ways you could squeeze better performance out of this while still running it on a worksheet (Personally I prefer to read/write sheets twice only - read the data, process everything with an array(s) and then write it back once - this is exponentially faster. However this approach may not work for you if your code is heavily tied to the worksheets. I can't recommend this without knowing what you are doing)
Code below. I have made comments to explain what I have changed to improve the performance.
Bookmarks