
Option Explicit
Sub abc()
Dim a, i, j, n, t
a = [a1].CurrentRegion.Resize(, 1).Value
ReDim b(1 To UBound(a), 1 To UBound(a))
For j = 1 To UBound(b, 2)
For i = 1 To j
n = Int(Rnd * (UBound(a) - i + 1)) + i
t = a(i, 1): a(i, 1) = a(n, 1): a(n, 1) = t: b(i, j) = a(i, 1)
Next
Next
[b1].Resize(UBound(b), UBound(b, 2)) = b
End Sub