背景
我有一个名为scenarios.The excel工作簿的excel工作簿,它有几个工作表,其计算由一个现有的宏(称为macro1)计算。
有两个令人感兴趣的工作表:“输入”和“最终”--“输入”工作表是我放置参数的地方,而“最终”工作表有当前macro1计算的结果。感兴趣的是“输入”worksheet.Cells范围中的单元格worksheet.Cells范围A1:C1,在“输入”工作表中包含我需要单元格B3引用的值(3个值,即100,200和300)。
我需要帮助一个新的宏(称为macro2)来完成以下工作;
必需的解决方案
将单元格B3的值依次从“输入”工作表中的范围A1:C1 (3个值,即100,200和300)中更改。
将单元格B3的值更改为100(从单元格A1),让我当前的macro1进行计算,然后将生成的工作簿保存为情景1。第二,再次将单元格B3的值更改为200(从单元格B1),让当前的macro1进行计算,然后将生成的工作簿保存为场景2。第三,再次将单元格B3的值更改为300(从单元格C1),让我当前的macro1进行计算,然后将生成的工作簿保存为scenario3。
最后,我需要相同的新macro2来打开新的工作簿,并从每个scenario1、scenario2和scenario3工作簿中复制“最终”工作表。请help.Thanks。
发布于 2022-08-27 15:32:26
Option Explicit
Sub Scenarios()
Const ADDR = "B3"
Dim i As Integer, scen_val
i = 1
For Each scen_val In Array(100, 200, 300) ' place here all the scenario values
With ThisWorkbook
.Sheets("Scenario").Range(ADDR) = scen_val ' make sure your workbook has a sheet named "Scenario"
.SaveCopyAs .Path & "\Scenario" & i & ".xlsm" ' make sure your workbook has been saved. Other WB will be saved in the same directory
i = i + 1
End With
Next
End Subhttps://stackoverflow.com/questions/73511246
复制相似问题