Циклы не нужны.
Sub Doeg()
With ActiveSheet.Range("A1:A10")
.Formula = "=(ROW()-1)*.01+1.2"
.Value = .Value
End If
End Sub
Если вы хотите цикл, я бы использовал цикл Variant Arrays вместо Ranges:
Sub Doeg
Dim otArr(1 to 10, 1 to 1) as Variant
Dim i as Long
For i = LBound(otArr,1) to UBound(otArr,1)
otArr(i,1) = (i - 1) * 0.1 + 1.2
Next i
ActiveSheet.Range("A1").Resize(UBound(otArr,1),UBound(otArr,2)).Value = otArr
End Sub
Хотя в этом конкретном случаевремя для завершения не будет заметно отличаться, но если у вас было 1000 или даже 100 000, тогда время становится заметным.
Но к тому, что SJR предлагал в комментарии выше.
Изменить *От 1012 * до counter = 1.2
Измените Do While counter < 10
на Do While counter < 10 * 0.1 + 1.2
И измените counter = counter + 1
на counter = counter + 0.1