Hello everyone, I would like to ask your help.

I have a file with loads of data on different sheets, thousands of formulas and a macro that runs and calculate sheets multiple times.

This means that after a macro run (and there is a loop in it, so we are talking about dozens of calculations) the file is quite impossible to put back as it was before running the macro. Too many things to keep in consideration.

What I need is an "UNDO" function that puts the things as they were before the macro ran. As I said, it's not one cell but thousands of data so what I thought is that possibly the easiest way is that the first thing that the macro does is saves the file with a different name, closes it, goes back to original file and carries on with the script.
Then another macro that I can call "UNDO" and that I can action with a button opens the back up file and closes the other one. So it's like I've undone the latest macro run.

Anybody that can help me creating the code for this? Thank you so much in advance