Option Explicit
Sub salim_rand_table()
Dim i%, k%, x#, m%: m = 33
Dim My_val#
If Not IsNumeric([b2]) Or [b2] = vbNullString Then
My_val = 10000
Else
My_val = Int(Abs([b2]))
End If
Dim myStart%: myStart = 1
Dim myEnd%: myEnd = 7
With CreateObject("System.Collections.SortedList")
For i = myStart To myEnd
.Item(Rnd) = i
Next i
For k = 1 To 6
Cells(m, 2) = Int((.GetByIndex(k) / 28) * My_val)
x = x + Cells(m, 2)
m = m + 1
Next
Cells(m, 2) = My_val - x
End With
End Sub