今回やりたいことはタイトルの通りなのですが、For文の範囲の
決め方でわからないことがあります。

1 To 5にした時は、入力した5つのセルのデータを5×5の範囲に
重複なく転記してくれたのですが、

1 to 25にしたときは、なぜかフリーズしてしまいます。強制終了
したところ、1 To 5にして実行した時と同じ結果が得られました。

Sub Sample()
    Dim i As Integer
    Dim myNum_1 As Long '転記先列番号
    Dim myNum_2 As Long '転記先行番号
    Dim myFlag_1(1 To 5) As Boolean, myFlag_2(2 To 6) As Boolean

    '乱数系列を初期化
    Randomize

    For i = 1 To 25 'あらかじめデータを入力した25個のセルを参照する為

        Do '転記先の列番号をランダムで重複なく作成する
            '乱数=Int((最大値 - 最小値 +1 ) * Rnd + 最小値)
            myNum_1 = Int((5 - 1 + 1) * Rnd + 1)
        Loop Until myFlag_1(myNum_1) = False

        Do '転記先の行番号をランダムで重複なく作成する
            '乱数=Int((最大値 - 最小値 +1 ) * Rnd + 最小値)
            myNum_2 = Int((6 - 2 + 1) * Rnd + 2)
        Loop Until myFlag_2(myNum_2) = False

        Cells(myNum_1, myNum_2) = Cells(i, 1).Value

        myFlag_1(myNum_1) = True
        myFlag_2(myNum_2) = True

    Next i
End Sub

以上、どなたか原因を教えていただけないでしょうか。