After a quick peek at your code it looks like it is referencing the ActiveSheet for your processes. This may or may not be what you want to have happen as this is why it is only working on whichever sheet you have activated. A way around this, even though it is not the best, would be to put this code in the button that you have created:
Where 2 is the worksheet number that you want your macro applied to. There might be other quirks that come up but it should be ok. You could also set a loop to do every worksheet but i dont think that is what you wanted to do.
Bookmarks