0

当工作表中的任何单元格发生更改时,我想在多行中应用目标搜索。我想将它从第 7 行应用到第 11 行。我遇到的第一个问题是每次运行它时 excel 都会崩溃。我刚刚开始学习 VBA,因此非常感谢任何帮助。谢谢!

我的代码如下:

Option Explicit

Private Sub Worksheet_Calculate()
CheckGoalSeek
End Sub

Private Sub CheckGoalSeek()
Range("T7").GoalSeek Goal:=0, ChangingCell:=Range("V7")
End Sub
4

1 回答 1

2

您似乎正在触发一个无限循环:工作表计算 -> 目标搜索计算 -> 工作表计算 -> ...

一种选择是更改触发目标搜索的事件。

我会推荐 Worksheet_Change 事件。除了子声明之外,事件代码将是相同的,即 Private Sub Worksheet_Change(ByVal Target As Range).

一个简单的For循环将在不同的行上执行目标搜索:

 Option Explicit

 Private Sub CheckGoalSeek()
    Dim i as Long
    For i = 7 to 11
        Range("T"& i).GoalSeek Goal:=0, ChangingCell:=Range("V"& i)
    Next
 End Sub
于 2013-04-26T17:50:27.347 回答