首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >宏以保存具有不同名称的工作簿。

宏以保存具有不同名称的工作簿。
EN

Stack Overflow用户
提问于 2022-08-27 13:03:42
回答 1查看 43关注 0票数 -1

背景

我有一个名为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。

EN

回答 1

Stack Overflow用户

发布于 2022-08-27 15:32:26

代码语言:javascript
复制
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 Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73511246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档