重複のない、ランダムな数をセルに代入する|Excel VBA |
次のサンプルは、セル範囲A1:A10に1〜10までの整数をランダムに、かつ重複を許可せずに代入します。
Sub Sample()
Dim i As Long, myNum As Long
Dim myFlag(1 To 10) As Boolean
'乱数系列を初期化
Randomize
For i = 1 To 10
Do
'乱数=Int((最大値 - 最小値 +1 ) * Rnd + 最小値)
myNum = Int((10 - 1 + 1) * Rnd + 1)
Loop Until myFlag(myNum) = False
Cells(i, 1).Value = myNum
myFlag(myNum) = True
Next i
End Sub