Maybe :
Sub Test()
Dim arrIn, arrTemp, arrOut, i As Long, j As Long, k As Long, p As Long, v
With Range("A1").CurrentRegion
arrIn = Range("A1").CurrentRegion.Value
ReDim arrOut(1 To [E1], 1 To [F1])
ReDim arrTemp(1 To Application.Max(Application.Sum(.Offset(, 1).Resize(, 1)), UBound(arrOut, 1) * UBound(arrOut, 2)))
End With
For i = 1 To UBound(arrIn, 1)
For j = 1 To arrIn(i, 2)
p = p + 1
arrTemp(p) = arrIn(i, 1)
Next j
Next i
j = UBound(arrTemp)
For i = 1 To UBound(arrTemp)
k = Int(Rnd() * j) + 1
v = arrTemp(i)
arrTemp(i) = arrTemp(k)
arrTemp(k) = v
Next i
p = 0
For i = 1 To UBound(arrOut, 1)
For j = 1 To UBound(arrOut, 2)
p = p + 1
arrOut(i, j) = arrTemp(p)
Next j
Next i
Range(Range("D10"), ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)).ClearContents
Range("D10").Resize(UBound(arrOut, 1), UBound(arrOut, 2)).Value = arrOut
End Sub
Bookmarks