Sub ZipProgram()
'Dim c As Range, i&, j&, k&, n&, p&, t
Randomize: p = 357: ReDim t(1 To p): Application.ScreenUpdating = False
For Each c In [AG7:AG11]: For i = 1 To c.Value
n = Int(p * Rnd + 1): p = p - 1: j = 0
For k = 1 To UBound(t): If t(k) = vbEmpty Then j = j + 1: If j = n Then Exit For
Next k: t(k) = c.Row - [AG7].Row + 1
Next i, c
For k = 1 To UBound(t): [J6].Offset(-1 + Int((k + 20) / 21) * 2, (k - 1) Mod 21).Value = t(k): Next k
End Sub