Törölt nick Creative Commons License 2012.04.21 0 0 17760

Próbáld ki ezt:

Sub izé()
    Dim i As Long, Maxi As Long, Randi As Long
    Dim Numbers As String, Selected As String
    Dim Rng As Range, c As Range, Dst As Range
        
    Set Rng = Range("C4:G15")
    Set Dst = Range("K4")
    For Each c In Rng
        If InStr(Numbers, c.Value) = 0 Then
            Numbers = Numbers & "," & c.Value
            Maxi = Maxi + 1
        End If
    Next
    
    For i = 1 To UBound(Split(Numbers, ","))
        Randi = Int(Rnd() * Maxi) + 1
        Selected = Split(Numbers, ",")(Randi)
        Dst.Offset((i - 1) 5, (i - 1) Mod 5) = Val(Selected)
        Numbers = Replace(Numbers, "," & Selected & ",", ",")
        Maxi = Maxi - 1
    Next
End Sub

 

Az első vastagított sor a forrás tartomány definíciója, a második pedig a céltartomány bal felső sarka.

Nem ellenőriztem alaposan az eredményt, de szerintem jó.

Előzmény: festerke (17755)