-1
對於VBA,MACRO我是全新的。我需要一個循環以優化在Excel中運行求解器以循環優化具有約束條件的目標單元格
- 首先,它具有運行與約束細胞(R10)
- 然後,它應該轉移到下一列兩個目標和約束的目標函數細胞(N10)。即Cell O10 & Cell S10,類似地再進行2次。
- 然後它應該轉移到第i + 9行並重復相同的步驟分析。
精確地有兩個循環,一個用於列循環4次和一個循環,直到它結束。
對於VBA,MACRO我是全新的。我需要一個循環以優化在Excel中運行求解器以循環優化具有約束條件的目標單元格
精確地有兩個循環,一個用於列循環4次和一個循環,直到它結束。
有幾個問題...
Cells(x,y)
時,應始終使用工作表進行限定。下面的代碼應該實現您的目標,並通過適當的修改來標記。
Option Explicit
Sub mySolve()
Dim totalrows As Long
totalrows = 1000 ' *** use whatever formula finds your last row
Dim row As Long
Dim col As Long
Dim myWS As Worksheet
Dim SetAddr As String, ChgAddr As String, ConAddr As String
Set myWS = ActiveSheet
For row = 10 To totalrows Step 9
For col = 14 To 17 Step 1
SetAddr = myWS.Cells(row, col).Address
ChgAddr = myWS.Cells(row, col + 4).Address '*** you don't specify in your question
ConAddr = myWS.Cells(row, col + 4).Address
SolverReset
SolverOk SetCell:=SetAddr, MaxMinVal:=2, ByChange:=ChgAddr, Engine:=3
SolverAdd CellRef:=ConAddr, Relation:=1, FormulaText:="2" '*** what is your constraint
SolverSolve Userfinish:=True
Next col
Next row
End Sub
您的代碼的屏幕截圖是提供您已完成的示例的不佳方式。 – OldUgly
特赦!我是個開胃菜。將學習如何以可重現的方式表示它。並感謝您的意見。 –