首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当工作表中的某些数字发生变化时,自动运行excel求解器

当工作表中的某些数字发生变化时,自动运行excel求解器
EN

Stack Overflow用户
提问于 2012-10-11 23:44:17
回答 2查看 13.4K关注 0票数 4

我正在尝试用excel为一所学校做成本分析。在不同的定价下,我们得到不同的学生数量,在此基础上,我们需要分析每个系雇用不同类型教师的成本。我们使用求解器计算每个部门的需求。我们需要运行求解器10次来计算10年的成本。我们改变了重复这个过程所需的费用。有没有办法让求解器触发器自动化?如果没有,那么最好的替代方案是什么?有没有不同的软件可以让我的生活变得轻松?

EN

回答 2

Stack Overflow用户

发布于 2012-10-12 03:15:40

您需要订阅WorkSheet_Changed事件。

每当工作表上发生任何更改时,都会运行该事件。您需要使用if语句,如下所示:

代码语言:javascript
复制
 if the cells in the appropriate range have been changed:
     do the operation that you need
票数 1
EN

Stack Overflow用户

发布于 2012-10-12 03:25:00

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

您需要只在费用单元格发生变化时运行宏(我在下面的示例代码中假定为A1 ),并在运行goal seek宏时禁用事件,这样就不会陷入循环。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12843490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档