WorksheetFunction関数で乱数生成

 

Sub test()
 ’ 重複しない乱数1個ずつ生成

 

    Dim xlMini As Long
    Dim xlMax As Long
    Dim i As Long
    Dim myNum As Long
    Dim xlCount As Long

    xlMini = 3   ’ 最小値
    xlMax = 13  ’ 最大値
    
    With Sheets(1)

            i = .Cells(Rows.Count, 1).End(xlUp).Row + 1  '最終行+1
          ’ 乱数取得
            myNum = WorksheetFunction.RandBetween(xlMini, xlMax)
          ’ 取得済乱数個数(A列数字の個数)
            xlCount = WorksheetFunction.CountIf(.Range("A1:A" & i), myNum)
            
            If xlCount = 0 Then
                    .Cells(i, 1).Value = myNum
                    .Cells(5, 3) = myNum
            End If
    End With


End Sub

 

実行結果

 

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

 

参考記事