Your code does not change anything on the ActiveSheet. If it was blank beforehand, it would be blank afterwards (and vice versa).
Your code selects whatever is the next sheet to the ActiveSheet and performs actions on it. It inserts five columns and adds headings and formatting on row five. If the last sheet in the workbook were selected before running this code, it would fail because there would be no next sheet. Because the last action relates to cell D5, that cell is left selected.
I think using ActiveSheet.Next is poor programming as you cannot guarantee what the Active sheet is, let alone what the next sheet looks like.
That said, it could be more efficient.
My take on it:
Your code:
Bookmarks