1から9まで重複しない乱数自動生成

 

Sub test()


    Const xlStart As Long = 1
    Dim xlEnd As Long

    
    Const xlMini As Long = 1
    Const xlMax As Long = 9
    xlEnd = xlMax - xlMini + 1
    
    Dim i As Long
    Dim myNum As Long
    Dim myFlag(xlMini To xlMax) As Boolean
    
    
    
    Randomize
    
    For i = xlStart To xlEnd
        Do
’    乱数 =Int((最大値 - 最小値+1) *Rnd + 最小値)
            myNum = Int((xlMax - xlMini + 1) * Rnd + xlMini)
            
            Loop Until myFlag(myNum) = False
    
            Cells(i, 1).Value = myNum
            myFlag(myNum) = True
    
    Next i




End Sub

 

 

 

― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る 

 

参考記事