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

如何通过VBA宏实现Excel Solver批量迭代完成椭球距离反算

Excel Solver 批量求解修改方案

前置配置

使用VBA调用Solver前需要先添加引用:

  • 按下Alt+F11打开VBA编辑器
  • 点击顶部菜单栏「工具」→「引用」
  • 在可用引用列表中找到「Solver」,勾选后点击确定即可

修改后代码

Sub SolverLoop()
    ' 可自行调整下方的起始行、结束行参数
    Const START_ROW As Long = 2 ' 假设第1行是表头,数据从第2行开始
    Const END_ROW As Long = 10000 ' 最多处理到第10000行
    Dim i As Long
    
    ' 循环遍历每一行
    For i = START_ROW To END_ROW
        ' 跳过L列为空的行,避免无目标值报错
        If Cells(i, "L").Value <> "" Then
            ' 配置当前行的Solver参数
            SolverOk SetCell:="$K$" & i, _
                     MaxMinVal:=3, _
                     ValueOf:=Cells(i, "L").Value, _
                     ByChange:="$H$" & i, _
                     Engine:=1, _
                     EngineDesc:="GRG Nonlinear"
            ' 执行求解,自动接受结果不弹窗
            SolverSolve UserFinish:=True
            ' 保存求解结果到单元格
            SolverFinish KeepFinal:=1
        End If
    Next i
End Sub

注意事项

  • 运行代码前请先备份原始数据,避免H列原有值被覆盖后无法恢复
  • 如果存在求解不收敛的行,可自行在代码中添加错误处理逻辑跳过异常行
  • 10000行数据求解耗时较长,运行过程中请勿操作Excel表格
  • 可根据实际数据行数调整START_ROW和END_ROW的数值,减少不必要的运行时间

问题示意

问题示意图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:39:00