【问题标题】:VBA not recognizing Sheet activateVBA无法识别工作表激活
【发布时间】:2021-07-14 03:19:09
【问题描述】:

我正在尝试在 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)

【问题讨论】:

    标签: excel vba solver


    【解决方案1】:

    您可以将实际范围作为参数传递,而不是选择工作表并传递范围地址:

    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
    

    【讨论】:

    • 您好,谢谢您的回答,但由于某种原因它仍然忽略它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    相关资源
    最近更新 更多