I am trying to carry out a sensitivity analysis, result are presented in a table like format below:
SAtable.png
Thank you for your help.
Sub SASC()
'
'
Application.ScreenUpdating = False
Sheets("Sensitivity Analysis").Range("r12:w17").Copy
Sheets("Sensitivity Analysis").Range("r4").PasteSpecial Paste:=xlPasteValues
'first line
' sale -5% and cost -5
Sheets("Sensitivity Analysis").Range("s4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Sensitivity Analysis").Range("r5").Copy
Sheets("Rev + Cost").Range("e26").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("s5").PasteSpecial Paste:=xlPasteValues
' sale -2.5% and cost -5
Sheets("Sensitivity Analysis").Range("T4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("T5").PasteSpecial Paste:=xlPasteValues
' sale same and cost -5
Sheets("Sensitivity Analysis").Range("u4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("u5").PasteSpecial Paste:=xlPasteValues
' sale 2.5% and cost -5
Sheets("Sensitivity Analysis").Range("v4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("v5").PasteSpecial Paste:=xlPasteValues
' sale 5% and cost -5
Sheets("Sensitivity Analysis").Range("w4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("w5").PasteSpecial Paste:=xlPasteValues
'second line
' sale -5% and cost -2.5
Sheets("Sensitivity Analysis").Range("s4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Sensitivity Analysis").Range("r6").Copy
Sheets("Rev + Cost").Range("E26").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("s6").PasteSpecial Paste:=xlPasteValues
' sale -2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("T4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("T6").PasteSpecial Paste:=xlPasteValues
' sale same and cost -2.5
Sheets("Sensitivity Analysis").Range("u4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("u6").PasteSpecial Paste:=xlPasteValues
' sale 2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("v4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("v6").PasteSpecial Paste:=xlPasteValues
' sale 5% and cost -2.5
Sheets("Sensitivity Analysis").Range("w4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("w6").PasteSpecial Paste:=xlPasteValues
'third line
' sale -5% and cost 0
Sheets("Sensitivity Analysis").Range("s4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Sensitivity Analysis").Range("r7").Copy
Sheets("Rev + Cost").Range("E26").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("s7").PasteSpecial Paste:=xlPasteValues
' sale -2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("T4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("T7").PasteSpecial Paste:=xlPasteValues
' sale same and cost same BASE POSITION
Sheets("Sensitivity Analysis").Range("u4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("u7").PasteSpecial Paste:=xlPasteValues
' sale 2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("v4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("v7").PasteSpecial Paste:=xlPasteValues
' sale 5% and cost -2.5
Sheets("Sensitivity Analysis").Range("w4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("w7").PasteSpecial Paste:=xlPasteValues
'fourth line
' sale -5% and cost -5
Sheets("Sensitivity Analysis").Range("s4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Sensitivity Analysis").Range("r8").Copy
Sheets("Rev + Cost").Range("E26").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("s8").PasteSpecial Paste:=xlPasteValues
' sale -2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("T4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("T8").PasteSpecial Paste:=xlPasteValues
' sale same and cost same
Sheets("Sensitivity Analysis").Range("u4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("u8").PasteSpecial Paste:=xlPasteValues
' sale 2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("v4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("v8").PasteSpecial Paste:=xlPasteValues
' sale 5% and cost -2.5
Sheets("Sensitivity Analysis").Range("w4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("w8").PasteSpecial Paste:=xlPasteValues
'fifth line
' sale -5% and cost -5
Sheets("Sensitivity Analysis").Range("s4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Sensitivity Analysis").Range("r9").Copy
Sheets("Rev + Cost").Range("E26").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("s9").PasteSpecial Paste:=xlPasteValues
' sale -2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("T4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("T9").PasteSpecial Paste:=xlPasteValues
' sale same and cost same
Sheets("Sensitivity Analysis").Range("u4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("u9").PasteSpecial Paste:=xlPasteValues
' sale 2.5% and cost -2.5
Sheets("Sensitivity Analysis").Range("v4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("v9").PasteSpecial Paste:=xlPasteValues
' sale 5% and cost -2.5
Sheets("Sensitivity Analysis").Range("w4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Assumptions").Select
Sheets("Assumptions").Range("D28").ClearContents
Call CopyUntilZero
Sheets("Assumptions").Range("D28").Copy
Sheets("Sensitivity Analysis").Range("w9").PasteSpecial Paste:=xlPasteValues
'end
Sheets("Sensitivity Analysis").Range("u4").Copy
Sheets("Rev + Cost").Range("F3").PasteSpecial Paste:=xlPasteValues
Sheets("Sensitivity Analysis").Range("r7").Copy
Sheets("Rev + Cost").Range("E26").PasteSpecial Paste:=xlPasteValues
Sheets("Sensitivity Analysis").Select
Application.ScreenUpdating = True
End Sub
the code for CopyUntilZero is below:
Sub CopyUntilZero()
Do While Abs(Range("k32").Value) > 0.5
Range("k34").Select
Selection.Copy
Range("D28").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Loop
Application.CutCopyMode = False
Range("d28").Select
End Sub
Bookmarks