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

如何修改循环GoalSeek的VBA代码以避免空白单元格报错?

整合非空判断后的VBA代码

直接给你修改好的完整代码,核心是给GoalSeek操作加上非空判断,同时优化了冗余的Select操作:

Sub Button2_Click()
'
' Button2_Click Macro
'

Dim i As Integer
For i = 13 To 2000
    ' 判断目标单元格(AS列第i行)是否非空,非空才执行GoalSeek
    If Range("AS" & i).Value <> "" Then
        Application.CutCopyMode = False
        Range("AS" & i).GoalSeek Goal:=0, ChangingCell:=Range("AL" & i)
    End If
Next i

End Sub

关键修改说明:

  • 用If Range("AS" & i).Value <> "" Then包裹住GoalSeek的执行逻辑,只有当目标单元格(AS列对应行)不为空时才运行GoalSeek,彻底避免空单元格触发的报错。
  • 移除了原代码中不必要的Select操作(包括选中单元格和按钮),VBA直接操作单元格对象比依赖选中状态更高效、更稳定。
  • 保留了一次Application.CutCopyMode = False,取消剪切/复制状态,避免后续操作受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:35:42