2011-02-02

発表準備

明日の発表の準備を決めるくじ引きプログラムです。
第一回で使った班分けプログラムの数字を変えたものです。

Sub くじ引き()
Dim くじ(25) As Integer
Dim 組(5) As Integer
Randomize
組(1) = 1
組(2) = 1
組(3) = 1
組(4) = 1
組(5) = 1
i = 1
For j = 1 To 5
  For k = 1 To 組(j)
    くじ(i) = j
    i = i + 1
  Next k
Next j
総数 = i - 1
残数 = 総数
くじ(i) = -1
For i = 1 To 総数
  MsgBox ("発表順番を決めます。メモの準備が出来たらOKをクリックしてください")
  乱数 = Application.RoundDown((Rnd() * 残数), 0) + 1
  MsgBox (i & "班の発表は" & くじ(乱数) & "番目です。")
  Cells(i, 1) = i
  Cells(i, 2) = くじ(乱数)
  For j = 乱数 To 残数
    くじ(j) = くじ(j + 1)
  Next j
  残数 = 残数 - 1
Next i
End Sub

0 件のコメント: