创建表格后更改公式

时间:2017-04-18 14:26:21

标签: excel vba excel-vba

我对VBA并不特别高级,所以请耐心等待我

我正在对不同投资的成本进行情景分析。我正在将现状(当前)情况与几种情况进行比较。我从一个名为“as-is”的工作表开始,然后使用宏创建要比较的方案。目前我设置的方式是弹出一个文本框,询问要分析的场景数。让我们说3这个例子,然后它将制作3个“场景”表和3个“成本比较”表。 “场景”表将是用户输入每个可用投资选项的所有数据的位置。 “成本比较”表单应仅计算“场景”表和“原样”表之间的差异。到目前为止,我已设法获取代码来创建工作表但尚未弄清楚如何更改公式来计算差异。不完整的代码目前看起来像这样:

Sub CreateScenariosandComparison()
'Create multiple scenario worksheets for analysis based on how many scenarios you wish to compare
    Dim I As Long
    Dim xNumber As Integer
    Dim xName As String
    Dim xActiveSheet As Worksheet
    On Error Resume Next
    Application.ScreenUpdating = False
    Set xActiveSheet = ActiveSheet
    xNumber = InputBox("Enter number of scenarios you wish to compare the As-is situation to")
    For I = 1 To xNumber
        xName = ActiveSheet.Name
        xActiveSheet.Copy After:=ActiveWorkbook.Sheets(xName)
        ActiveSheet.Name = "Cost Comparison-" & I
    Next
    xActiveSheet.Activate
    Application.ScreenUpdating = True    
    On Error Resume Next
    Application.ScreenUpdating = False
    Set xActiveSheet = ActiveSheet
    For I = 1 To xNumber
        xName = ActiveSheet.Name
        xActiveSheet.Copy After:=ActiveWorkbook.Sheets(xName)
        ActiveSheet.Name = "Scenario-" & I
    Next
    xActiveSheet.Activate
    Application.ScreenUpdating = True
End Sub

基本上我希望将上述代码更新为:

1)更改我刚刚创建的“成本比较”表中的所有公式,以将每个新创建的“方案”表格与“原样”表格进行比较。 (基本上是“场景”减去“原样”来计算delta)

2)保持其他工作表的格式

3)(编辑)我需要“成本比较”表中的公式与它们的相应数字相对应(在运行上面的宏时分配)。意思是“成本比较-1”将是“情景-1”减去“原样”; “成本比较-2”将是“情景-2”减去“按原样”等等。

先谢谢你们!

0 个答案:

没有答案