我有以下代码。正如你可以看到的下一步循环。两个内部循环工作正常,但外部循环根本没有运行。这似乎是我如何“变暗”变量的东西,但老实说,我不知道为什么这不起作用。为了简化,我删除了内部循环中的一些代码,但我认为这不会影响下一个循环。嵌套for循环步骤不工作
Sub AlgorithmOptimizertest()
Dim PBmin As Double
Dim PBmax As Double
Dim PBstep As Double
Dim PRORmin As Double
Dim PRORmax As Double
Dim PRORstep As Double
Dim ROEmin As Double
Dim ROEmax As Double
Dim ROEstep As Double
PBmin = Sheets("ModelSummary").Range("AP6").Value
PBmax = Sheets("ModelSummary").Range("AP7").Value
PBstep = Sheets("ModelSummary").Range("AP8").Value
PRORmin = Sheets("ModelSummary").Range("AO6").Value
PRORmax = Sheets("ModelSummary").Range("AO7").Value
PRORstep = Sheets("ModelSummary").Range("AO8").Value
ROEmin = Sheets("ModelSummary").Range("AD6").Value
ROEmax = Sheets("ModelSummary").Range("AD7").Value
ROEstep = Sheets("ModelSummary").Range("AD8").Value
For k = ROEmin To ROEmax Step ROEstep
Range("AD5").Value = k
For j = PRORmin To PRORmax Step PRORstep
Range("AO5").Value = j
For i = PBmin To PBmax Step PBstep
Range("AP5").Value = i
Call PorfolioBuilder
Next i
Next j
Next k
End Sub
您是否已经验证,在AD8(当加入AD6)值不超过AD7值,从而执行循环只有一次?我假设最外层的循环至少执行一次,因为你说内层循环工作正常。 – Dave
此代码将受益于一个大的'ole [With ... End With语句](https://msdn.microsoft.com/en-us/library/wc500chb.aspx),它定义了* ModelSummary *工作表代码。您是否在PorfolioBuilder中选择,激活或创建另一个工作表? – Jeeped
ROEmin,ROEmax和ROEstep的值是多少? –