- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
For I = nrow_Start To nrow_Stop
Do
If Nrow_Frm1 = I Then Exit Do
If Nrow_Frm2 = I Then Exit Do
If Nrow_Frm3 = I Then Exit Do
If Nrow_Frm4 = I Then Exit Do
Cells(I, ncol_Period).FormulaR1C1 = formula
Loop While False
Next I
1. Использование меток
2. Куча if
3. Вынос кода в отдельную процедуру
И все они, в отличие от этого кода, ухудшили бы читабельность программы. Браво кодеру!
Select Case I
Case Nrow_Frm1, Nrow_Frm2, Nrow_Frm3, Nrow_Frm4
Exit For
Case Else
Cells(I, ncol_Period).FormulaR1C1 = formula
End Select
Next
Не забываем об оптимизации кода, ну хотя бы минимальной
Двоеточие и имя переменной после Next хотя и сохранены для совместимости, но вы бы еще Goto втулили.