Excelで基礎講座ソフトを作ってみよう

Step 5 「出来た」ボタンで答えをチェック

「出来た」ボタンで正解かどうかチェックします。
・正解の場合、メッセージを表示し次の練習問題を表示します。
問題が終了の場合、メッセージBOXで通知します。
・不正解の場合、メッセージを表示し、練習問題の実行前に戻ります。


Homeに戻る > Excelでアプリケーションソフト > 基礎講座ソフトを作ってみよう

シートのVBAコード

下記のVBAコードを追加してください。

'出来たボタン
Private Sub CommandButton2_Click()
   '終了フラッグ
    endFlag = True
    DoEvents
    If Ex1AnswerCheck Then
        Label6.ForeColor = &H8000&
        Label6.Caption = "正解です。よくできました。"
        '次の問題を表示する
        If ComboBox1.ListCount - 1 > ComboBox1.ListIndex Then
            ComboBox1.ListIndex = ComboBox1.ListIndex + 1
        Else
            '問題は終了
            ComboBox1.ListIndex = 0
            MsgBox "正解です。よくできました。" & vbCrLf & "問題はこれで終了です。お疲れ様でした。"
        End If
        Label4.Caption = ComboBox1.Column(1)
    Else
        Label6.ForeColor = vbRed
        Label6.Caption = "間違っています。"
    End If
    
    '経過時間をリセット
    Label1.Caption = 0
    Label3.Caption = "開始ステップを選択し、「始める」ボタンをクリックしてください。"
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    CommandButton3.Enabled = True
End Sub

'答えのチェック
Private Function Ex1AnswerCheck() As Boolean
    Dim ln As Long
    
    Ex1AnswerCheck = False
On Error GoTo ErrExit:
    ln = Range("B10")
    If ln = 125 Then
        '答えが合っている
        Ex1AnswerCheck = True
    End If
    Exit Function
ErrExit:
End Function

下記のVBAコードに変更してください。

'開始ボタン
Private Sub CommandButton3_Click()
    Label6.Caption = ""
    CommandButton1.Enabled = True
    CommandButton2.Enabled = True
    CommandButton3.Enabled = False
    '終了フラッグをリセット
    endFlag = False
    Label3.Caption = "ワークシート上で、課題を実行してください。"
    Ex1exercise
    Label3.Caption = "開始ステップを選択し、「始める」ボタンをクリックしてください。"
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    CommandButton3.Enabled = True
End Sub

実行中の画面

■正解の場合
問題に正解

■不正解の場合
問題に不正解

■問題が終了した場合
問題が終了

Homeに戻る > Excelでアプリケーションソフト > 基礎講座ソフトを作ってみよう

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved