You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助解决Purchase_Scenarios宏的VBA代码问题

修改后的VBA代码(满足10次循环需求)

核心修改点

  • 将循环终止值x设为10,确保执行10次循环
  • 简化工作表操作,减少不必要的激活/跳转,提升运行效率
  • 规范VBA注释格式,增强代码可读性

最终代码

Sub Purchase_Scenarios()
    Dim s As Integer
    Dim i As Integer
    Dim c As Integer
    Dim x As Integer
    
    ' 初始化循环参数:执行10次循环
    x = 10
    s = 1
    
    ' 绑定Scenario工作表,避免反复激活切换
    With Sheets("Scenario")
        ' 获取初始行号、列号
        i = .Range("H14").Value
        c = .Range("I14").Value
        
        Do While s <= x
            ' 将当前循环序号写入G13单元格
            .Range("G13").Value = s
            
            ' 调用已验证可用的Solve_All宏计算采购价格
            Call Solve_All
            
            ' 直接赋值替代复制粘贴,提升效率
            .Cells(i, c).Value = Sheets("Inputs").Range("Purchase").Value
            
            ' 循环变量递增:序号s加1,目标列号c同步加1
            s = s + 1
            c = c + 1
        Loop
    End With
End Sub

执行逻辑说明

  1. 初始化循环次数为10,起始序号s设为1
  2. 读取Scenario工作表H14的行号、I14的列号作为结果粘贴的起始位置
  3. 每次循环依次执行:
    • 将当前循环序号s写入Scenario表G13单元格
    • 调用Solve_All宏生成采购价格
    • 把Inputs表中Purchase区域的计算结果直接写入Scenario表的指定单元格
    • 递增s和c,直到完成10次循环

内容的提问来源于stack exchange,提问作者Adi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:27:19