Copy and paste this code into a standard module.
Run: ArchiveData
I deleted the rows with pseudo data below the total.
See: ExcelFinWizzard_CopyPasteExample2.xlsm
Here are some thoughts:
I don't think you want borders (lines) drawn in the archive area (they might make copy and pasting more difficult).
Come to think about it. You want six columns between each month. So that there will be an empty column between each month. Once you've worked out these details, it would be a simple matter of writing a sub-routine called: UnArchiveData which would take the archived data and move it into the original spot.
The above code is not perfect. There should probably be more checking. Such as I didn't check to see if the number of rows being copied was over 97 rows. (You don't want the data over writing some other year's information.)
Another idea might be to move the archive data into another worksheet. And then you can hide the archive worksheet. There would be no need to label the archive data with year and month headers since no one will ever see it. You will use a macro to place the data into archive, and use another macro to get it out of archive.
Just some thoughts to consider.
Bookmarks