我有以下代码。正如您所看到的下一步循环。两个内部循环工作正常,但外部循环根本没有运行。这似乎与我如何“模糊”变量有关,但老实说,我不确定为什么这不起作用。为了简化,我删除了内部循环中的一些代码,但我不认为这会影响for next循环。
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发布于 2016-06-13 19:09:54
这绝对不是一个代码问题。这可能与单元格中的数据有关。
但为了准确,你应该这样做:
dim wb as workbook, ws as worksheet
'put your dim's here
set wb=thisworkbook
set ws=wb.worksheets("ModelSummary")
'read your values here
ROEmin = ws.Range("AD6").Value
'also you might want to try this
'ROEMIN = ws.Cells(ws.Range("AD6").row,ws.Range("AD6").column)
'then call your loops
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 khttps://stackoverflow.com/questions/37735642
复制相似问题