【´・ω・`】:時間割自動作成マクロプロトタイプⅠの解説をしようと
思ったけどその前に・・・
(●`ε´●):なんだ、解説をするんじゃなかったのか?
【´・ω・`】:うん、そう思ったんだけど解説は次回に回して・・・
(●`ε´●):で、何をするんだ?
【´・ω・`】:うん、前のコードの変数名を日本語名にしたから
それを見ておくれ。そうしたら、わざわざ解説をしなくても
何をやっているかわかっちゃうかも・・・。
%空欄の数 = Cells(1, 1) !!書き込むべき単位数
%科目 = 2
For %試行回数 = 1 To 1000
Randomize(ThisTime()) !!乱数の発生
%列 = Int(Rand() * 5) + 2
%行 = Int(Rand() * 6) + 2
%該当科目の単位数 = Cells(%科目, 9) !!個々の科目の単位数
If Cells(%行, %列) = "" Then !!科目名を書き込む
Cells(%行, %列) = Cells(%科目, 8)
%書き込済み科目名 = %書き込済み科目名 + 1
End If
If %書き込済み科目名 = %該当科目の単位数 Then !!科目の書き込みが指定の
%科目 = %科目 + 1 !!単位数になったら次の科目へ
%書き込んだ単位数 = %書き込んだ単位数 + %書き込済み科目名
If %書き込んだ単位数 = %書込むべき単位数 Then
Stop !!指定された単位数の合計分、
End If !!科目名を書き込んだら終了
%書き込済み科目名 = 0
End If
Next
コメント