[英]Excel Solver VBA
我在 Excel VBA 宏中創建的求解器模型中的方程之一如下:
SolverAdd CellRef:="$M$18:$M$30", Relation:=2, FormulaText:="$N$18:$N$30"
我怎樣才能實現它,以便行號“18”是一個可以作為另一個單元格的輸入讀取的值? 例如,單元格 A1 的值可能為 18,這正是我想在此等式中使用的值。 如果 A1 中的值為 10,則等式應為:
SolverAdd CellRef:="$M$10:$M$30", Relation:=2, FormulaText:="$N$10:$N$30"
同樣,變量定義為:
SolverOk SetCell:="$H$47", MaxMinVal:=2, ValueOf:=0, ByChange:="$H$18:$J$30,$R$18:$R$30", _
Engine:=1, EngineDesc:="Simplex LP"
同樣,當單元格 A1 中的數字值從 18 變為 10 時,變量應從"$H$18:$J$30,$R$18:$R$30"
變為"$H$10:$J$30,$R$10:$R$30"
。
我將不勝感激任何建議。
非常感謝。
input_variable = .Cells(1,1)
或input_variable = Range("A1")
並更改為"$M"&input_variable&":$M$30
有關更多方法,請參閱此問題: VBA: Selecting range by variables or Range as a Variable VBA
隨着問題的增多,Excel似乎無法解決一些問題,還有很多其他專業軟件使用這些優化建模語言。
如果您嘗試安裝可能會出現一些問題,請輸入此鏈接來解決:幫助頁面我的問題是不同的,在這里解決了。
在我的課程中,我使用的是 AMPL,因此使用 SolverStudio 進行編程比 Excel VBA 更容易,因為 SolverStudio 的語言專注於優化問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.