Sub test()
Dim i As Integer
Dim h As Long
Dim e As Long
Dim t As Long
Range("clear_RO").Clear
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Worksheets("s_RO").Calculate
t = Range("ts_RO").Value2
ActiveWorkbook.Names.Add Name:="drange_RO", RefersToR1C1:= _
"=OFFSET(z_RO,1,0,ts_RO,1)"
ActiveWorkbook.Names.Add Name:="vrange_RO", RefersToR1C1:= _
"=OFFSET(w_RO,1,0,ts_RO,1)"
ActiveWorkbook.Names.Add Name:="phvrange_RO", RefersToR1C1:= _
"=OFFSET(phv_RO_sim,1,0,ts_RO,1)"
ActiveWorkbook.Names.Add Name:="darange_RO", RefersToR1C1:= _
"=OFFSET(da_RO_sim,1,0,ts_RO,1)"
ActiveWorkbook.Names.Add Name:="intrange_RO", RefersToR1C1:= _
"=OFFSET(int_RO_sim,1,0,ts_RO,1)"
ActiveWorkbook.Names.Add Name:="tdrange_RO", RefersToR1C1:= _
"=OFFSET(tr_RO_sim,1,0,ts_RO,1)"
'phv
Dim rng_phv_RO As Range
Set rng_phv_RO = Range("phvrange_RO")
Range("phvrange_RO").Select
With Sheets("s_RO")
With .Range("phv_RO_sim").Offset(1, 0)
.FormulaArray = "=MAX(if(drange_RO >= RC[-11] - tlim_RO,if(drange_RO < RC[-11] , vrange_RO)))"
.AutoFill rng_phv_RO
End With
End With
Selection.Calculate
Selection = Selection.Value2
'da
Dim rng_da_RO As Range
Set rng_da_RO = Range("darange_RO")
Range("darange_RO").Select
With Sheets("s_RO")
With .Range("da_RO_sim").Offset(1, 0)
.FormulaArray = "=if(RC[-1] - RC[-11] >= dlim_RO_RO,1,0)"
.AutoFill rng_da_RO
End With
End With
Selection.Calculate
Selection = Selection.Value2
'intrange
Dim rng_int_RO As Range
Set rng_int_RO = Range("intrange_RO")
Range("intrange_RO").Select
With Sheets("s_RO")
With .Range("int_RO_sim").Offset(1, 0)
.FormulaArray = "=t_RO - IF((t_RO - int_sw_RO - RC[-12])<0,ROUNDDOWN((t_RO - int_sw_RO - RC[-12])/c_RO,0),ROUNDUP((t_RO - int_sw_RO - RC[-12])/c_RO,0))*c_RO"
.AutoFill rng_int_RO
End With
End With
Selection.Calculate
Selection = Selection.Value2
'td
Dim rng_td_RO As Range
Set rng_td_RO = Range("tdrange_RO")
Range("tdrange_RO").Select
With Sheets("s_RO")
With .Range("tr_RO_sim").Offset(1, 0)
.FormulaArray = "=IF(AND(IF(RC[-1]+ tb_RO -RC[-13]>=0,1,0)=1,RC[-2]=1),1,0)"
.AutoFill rng_td_RO
End With
End With
Selection.Calculate
Selection = Selection.Value2
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub
Bookmarks