Dim x, y, z, w, flag
Private Sub CommandButton1_Click()
If flag = 0 Then
If OptionButton1 = True Then y = 1
If OptionButton2 = True Then y = 2
If OptionButton3 = True Then y = 3
If Cells(x, 5) = y Then
TextBox1 = "正解です"
w = w + 1
TextBox3 = w
Else
TextBox1 = Cells(x, Cells(x, 5) + 1)
End If
End If
flag = 1
End Sub
Private Sub CommandButton2_Click()
For j = 1 To 100
Cells(j, 7) = 0
Next j
End Sub
Private Sub UserForm_Click()
x = Int(Rnd() * 100) + 1
If Cells(x, 7) = 0 Then
Cells(x, 7) = 1
TextBox1 = Cells(x, 1)
OptionButton1.Caption = Cells(x, 2) OptionButton2.Caption = Cells(x, 3)
OptionButton3.Caption = Cells(x, 4)
z = z + 1
If z = 100 Then Stop
TextBox2 = z
TextBox4 = Cells(x, 6)
flag = 0
End If
End Sub
|
共通で使用する変数定義
コマンドボタン1を押したとき
このルーチンを0の時通過させる
オプションボタン1の時y=1とする
オプションボタン1の時y=2とする
オプションボタン1の時y=3とする
正解番号とyの値が同じなら
テキストボックス1に正解です表示
正解数のカウント1増加
テキストボックス3に正解数を表示
正解番号とyの値が異なるとき
セル5の正解番号に1足すとセルの正解名称と同じになるのでこれをテキストボックス1に表示
通過許可
コマンドボタン1終わり
コマンドボタン2を押したとき
セルGにゼロを書き込む
問題が出題されたらこの値を1として
同じ問題が出ないようにするため
ユーザーフォームをクリックした場合
1から100までの乱数を発生させる
問題がまだ1回も出題されていなかったら
出題した証拠にGを1にする
テキストボックス1にセルA列の問題文を表示する。
チックボックス1に解答を表示
チックボックス2に解答を表示
チックボックス3に解答を表示
出題数のカウント1増加
100問までいったら終わり
テキストボックス2に出題数を表示
テキストボックス4に出題者を表示
通過フラッグを0にする
|