I am trying to do analysis of different scenarios.
Let's say row 1 has the current/basecase result.
I want to paste results from row 1 to the rows below corresponding to the scenario.
Example - Scenario 1 on row 2, Scenario 2 on row 3, etc.
The macro conducts this analysis one scenario at a time.
When I specify to run scenarios on rows 2-10, it will paste correctly on rows 2-10.
However when I run scenarios on row 5-10, it will paste on rows 2-7 not rows 5-10.
This code works for other workbooks.
Sub Add_sce()
Application.ScreenUpdating = False
Application.Calculation = xlManual
'Clearing cell contents
Sheets("Sensitivity Analysis").Range("SCE_clean").Select
Selection.ClearContents
'Creating an area to paste results of each simulation for each scenario
Worksheets("Appendix-PSA").Select
Range("PSA_iteration") = Range("addscen_iteration")
Range("PSA_sim_pasted_results").Select
Selection.ClearContents
Range("PSA_sim_current_results").Select
Selection.Copy
Range("PSA_sim_pasted_results").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Count = 0 / (Range("AD_stop").Value - Range("AD_start").Value)
Application.StatusBar = Count
'Replacing basecase values for variable with scenario values
Dim i As Integer
For i = Range("AD_start").Value To Range("AD_stop").Value
Sheets("Model Parameters").Range(Sheets("Sensitivity Analysis").Range("V" & i & ":V" & i)) = _
Sheets("Sensitivity Analysis").Range("Z" & i & ":Z" & i)
If Sheets("Sensitivity Analysis").Range("W" & i & ":W" & i) <> "" Then
Sheets("Model Parameters").Range(Sheets("Sensitivity Analysis").Range("W" & i & ":W" & i)) = _
Sheets("Sensitivity Analysis").Range("AA" & i & ":AA" & i)
Else
End If
If Sheets("Sensitivity Analysis").Range("X" & i & ":X" & i) <> "" Then
Sheets("Model Parameters").Range(Sheets("Sensitivity Analysis").Range("X" & i & ":X" & i)) = _
Sheets("Sensitivity Analysis").Range("AB" & i & ":AB" & i)
Else
End If
If Sheets("Sensitivity Analysis").Range("Y" & i & ":Y" & i) <> "" Then
Sheets("Model Parameters").Range(Sheets("Sensitivity Analysis").Range("Y" & i & ":Y" & i)) = _
Sheets("Sensitivity Analysis").Range("AC" & i & ":AC" & i)
Else
End If
'Starting simulation
Worksheets("Appendix-PSA").Select
Call PSA
Calculate
'**Problem is somewhere here - it is supposed to copy from range add_result and
' Paste it in the row specified by
' the scenario number i and starting row number AD_start
Worksheets("Sensitivity Analysis").Select
Range("add_result").Select
Selection.Copy
ActiveCell.Offset(i + 1 - Range("AD_start"), 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Replacing scenario values with default values
Worksheets("Model Parameters").Select
Call Default
Worksheets("Sensitivity Analysis").Select
Count = Round((i - Range("AD_start").Value) / (Range("AD_stop").Value - Range("AD_start").Value), 2) * 100 & " %"
Application.StatusBar = Count
Next i
Worksheets("Appendix-PSA").Select
Range("PSA_sim_pasted_results").Select
Selection.Copy
Range("PSA_sim_current_results").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("Sensitivity Analysis").Select
Range("a1").Select
Application.Calculation = xlAutomatic
Calculate