4

我正在尝试在 Excel 中为一所学校进行成本分析。在不同的定价下,我们获得了不同数量的学生,基于此我们需要分析为每个部门雇用不同类型的教师的成本。我们使用求解器计算每个部门的需求。我们需要运行求解器 10 次来计算 10 年的成本。并且我们是否更改了重复此过程所需的费用。有什么方法可以自动化求解器触发器?如果不是最好的选择是什么?是否有其他软件可以让我的生活变得轻松?

4

2 回答 2

1

您需要订阅WorkSheet_Changed事件。

每次对该工作表进行任何更改时,该事件都会运行。你需要做一个 if 语句,如:

 if the cells in the appropriate range have been changed:
     do the operation that you need
于 2012-10-11T19:15:39.620 回答
0

开始为您的求解器录制宏。然后转到 Visual Basic 编辑器并编辑宏,直到您觉得它们可以正常运行(即无论您从何处启动它们)。现在,进入工作表的代码(在 Visual Basic 项目资源管理器中双击工作表)并将宏复制到 worksheet_change 宏中。

您只想在费用单元格更改时运行宏(我在下面的示例代码中假设为 A1),并在运行目标搜索宏时禁用事件,这样您就不会陷入 looooong 循环。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Application.EnableEvents = False

'your goal seeking code

Application.EnableEvents = True
End Sub
于 2012-10-11T19:25:00.103 回答