Home > 即効テクニック > Excel VBA > セル操作関連のテクニック > 重複を許可せず、ランダムな数をセルに代入する

即効テクニック

セル操作関連のテクニック

重複を許可せず、ランダムな数をセルに代入する

(Excel 97/2000)
サンプルマクロは、A1:A10のセル範囲に1〜10までの整数をランダムにかつ重複を許可せずに代入します。
Sub Sample()

Dim i As Integer, myNum As Integer
Dim myFlag(9) As Boolean

    For i = 0 To 9
        Do
            Randomize
            myNum = Int(Rnd * 10)
        Loop Until myFlag(myNum) = False
        Range("A1").Offset(i).Value = myNum + 1
        myFlag(myNum) = True
    Next

End Sub