excel - VBA无法识别工作表激活
问题描述
我正在尝试在 VBA 中使用求解器。我的输入与宏按钮位于不同的工作表中(我无法更改),并且由于某种原因,Excel 2007 可以识别 Sheets("Core").Activate,而 excel 365 则不能。我做错了什么,就像在 excel 365 中一样,它只是忽略了代码的第一行?
Sheets("Core").Activate
SolverAdd CellRef:="$AO$10", Relation:=3, FormulaText:="0"
SolverOk SetCell:="$AZ$8", MaxMinVal:=3, ValueOf:=0, ByChange:="$AO$10", Engine _
:=1, EngineDesc:="GRG Nonlinear"
SolverSolve (True)
解决方案
您可以将实际范围作为参数传递,而不是选择工作表并传递范围地址:
With ThisWorkbook.Worksheets("Core")
SolverAdd CellRef:=.Range("AO10"), Relation:=3, FormulaText:="0"
SolverOk SetCell:=.Range("AZ8"), MaxMinVal:=3, ValueOf:=0, _
ByChange:=.Range("AO10"), Engine:=1, EngineDesc:="GRG Nonlinear"
End With
SolverSolve True
推荐阅读
- node.js - 向不与我的机器人共享服务器的用户发送消息
- python - 如何理解一维数组和二维数组的 numpy dot 生成的维度变化?
- java - 添加 RecyclerView Layoutmanager 时我的应用停止了
- c# - 如何在 Android 上让 3D 对象从左到右跟随我的手指?
- connection - 将边缘插入中继连接的正确方法是什么?
- c++ - 为什么在重载区域函数时在波纹管代码的情况下会出现歧义
- python - sqlalchemy.exc.StatementError: (builtins.TypeError) SQLite DateTime 类型只接受 Python 日期时间和日期对象作为输入
- flutter - 手机的后退按钮无法正常工作
- r - geom_jitter 更小 增加点大小
- reactjs - 在 React 中的 JSX 中的地图循环中设置元素的样式属性