Here's the code I have so far, adapted from what you've given me:
Sub Month1_Click()
Application.Calculation = xlCalculationManual
If Range("TrueMonth1") Then Range("CMIMonth1paste").Value = Range("CMIMonth1copy").Value
If Range("TrueMonth1") Then Range("MDCMixMonth1paste").Value = Range("MDCMixMonth1copy").Value
If Range("TrueMonth1") Then Range("APCMixMonth1paste").Value = Range("APCMixMonth1copy").Value
If Range("TrueMonth1") Then Range("IPratesMonth1paste").Value = Range("IPratesMonth1copy").Value
If Range("TrueMonth1") Then Range("OPratesMonth1paste").Value = Range("OPratesMonth1copy").Value
If Range("TrueMonth1") Then Range("IPMixMonth1Part1paste").Value = Range("IPMixMonth1Part1copy").Value
If Range("TrueMonth1") Then Range("IPMixMonth1Part2paste").Value = Range("IPMixMonth1Part2copy").Value
If Range("TrueMonth1") Then Range("OPMixMonth1Part1paste").Value = Range("OPMixMonth1Part1copy").Value
If Range("TrueMonth1") Then Range("OPMixMonth1Part2paste").Value = Range("OPMixMonth1Part2copy").Value
If Range("TrueMonth1") Then Range("DischChangeMonth1paste").Value = Range("DischChangeMonth1copy").Value
If Range("TrueMonth1") Then Range("VisitsChangeMonth1paste").Value = Range("VisitsChangeMonth1copy").Value
If Range("TrueMonth1") Then Range("LOSChangeMonth1paste").Value = Range("LOSChangeMonth1copy").Value
If Range("TrueMonth1") Then Range("IncStmtMonth1paste").Value = Range("IncStmtMonth1copy").Value
If Range("TrueMonth1") Then Range("BalSheetMonth1paste").Value = Range("BalSheetMonth1copy").Value
If Range("TrueMonth1") Then Range("CapSpendMonth1paste").Value = Range("CapSpendMonth1copy").Value
If Range("TrueMonth1") Then Range("IncrDecrMonth1paste").Value = Range("IncrDecrMonth1copy").Value
Range("ProductivityMonth1paste").Value = Range("ProductivityMonth1copy").Value
Application.Calculation = xlCalculationAutomatic
End Sub
Month1 is the checkbox linked cell. I have 12 of these subs, one for each month of the year. The next 17 statements copy formula calculations and paste their values into the appropriate places. The destinations are future months on the assumptions tab. Users enter their assumptions into these cells and it drives the forecast model's future months. Like the checkbox in the sample file you saw, the user specifies which months are actuals and which are forecast so the model knows what to do. If it's an actual (historical) month, then actual data overrides the forecast that would otherwise be calculated from the assumptions entered (using IF statements). The assumptions entered for actual months will then have no effect. As each month is closed out, actuals should replace the assumptions that were entered, but you can't have both data entry and formulas at the same time in the same cell. The code nicely solves that.
To give an example: say you think salaries will go up 5% in February. You enter 5% in the appropriate assumptions cell, and the forecast increases salaries by 5% in February. Then February comes around and the books are closed. February's actuals then replace whatever you forecasted for that month. Let's say the salary increase got delayed until April. Yet in the assumptions cell for February still sits the 5% you entered, which has no effect now. It should say 0%, which is the actual result. And if you're using history as a guide for what to enter in your forecast, you want to see 0%, not 5%. So, the code updates this for actual results.
Paul