Sub 学級委員長を抽選()
    Dim result, lastRow, winnerRow As Integer
    ' result(結果)は整数
    ' lastRow(最後の行)は整数
    ' winnerRow(委員長)は整数
    Randomize
    ' ランダムな値を生成するためのシードを初期化する
    lastRow = Range("A1").SpecialCells(xlCellTypeLastCell).row
    ' 結果の最後の行を取得する
    result = Int((lastRow - 1 + 1) * Rnd + 1)
    ' ランダムに行を選択する
    ' Int((最大値-最小値+1)* Rnd +最小値))
    ' 最小値~最大値の整数値を乱数として出力。
    ' シンプルに result = Int((lastRow) * Rnd) でも大丈夫
    winnerRow = result + 1
    ' ランダム結果の行に1を加えてずらし、決定行に代入
    ' シンプルに winnerRow = result でも大丈夫
    Range("B" & winnerRow).Select
    ' 選ばれた参加者の行を選択する
    ’ BはメンバーリストのあるB列のこと
    MsgBox "学級委員長は、" _
    & Chr(13) & ActiveCell.Value & " さんに決まりました。"
    ' メッセージボックスに結果を表示
    ' Chr(13) は改行。ActiveCell.Valueは選択しているセル
End Sub


 
 
 

 
