
'
Option Explicit
'
Sub abc()
Dim a, i, j, m, n, t, pos, sum, scope
a = Range("a3:a" & [a3].End(xlDown).Row).Value
sum = [i3].Value
ReDim pos(1 To 5, 1 To 4)
For i = 1 To 5
pos(i, 4) = UBound(a) \ 5
Next
For i = 1 To UBound(a) Mod 5
pos(i, 4) = pos(i, 4) + 1
Next
pos(1, 1) = 1: pos(1, 2) = pos(1, 4): pos(1, 3) = sum / 5
For i = 2 To 5
pos(i, 1) = pos(i - 1, 2) + 1
pos(i, 2) = pos(i, 1) + pos(i, 4) - 1
pos(i, 3) = sum / 5
Next
scope = Split([l3].Value, "-")
ReDim b(1 To UBound(a), 1 To 2)
For i = 1 To 5
t = pos(i, 3)
For j = pos(i, 1) To pos(i, 2) - 1
n = Round(Rnd * (scope(1) - scope(0)) + scope(0), 2)
b(j, 1) = n
t = t - n
Next
If t >= Val(scope(0)) And t <= Val(scope(1)) Then
b(j, 1) = t: b(pos(i, 1), 2) = pos(i, 3)
Else
i = i - 1
End If
DoEvents
Next
[m3].Resize(UBound(b), 2) = b
End Sub