41本目 暗算練習アプリの作成

VBA100本ノック

VBA100本ノック 41本目を動画で解説しています。Excelの神髄さんの模範解答はコチラ


問題

#VBA100本ノック 41本目
暗算練習アプリを作成します。
・整数2個と+-*/の演算子をランダムに選ぶ
・問題をInputBoxに表示
・入力値を採点
・全10問、最後に10点満点で点数をMsgBox表示
・キャンセルや未回答は次の問題に進む
※整数の範囲については暗算できる範囲で随意

解答

Sub inputboxさんを10回四則演算()

    Dim ans, ansX, num1, num2, X
    Dim i As Long
    Dim cnt As Long
    cnt = 0
    For i = 1 To 10
        X = WorksheetFunction.RandBetween(1, 4)
        Select Case X
            Case 1 '足し算
                num1 = WorksheetFunction.RandBetween(1, 99)
                num2 = WorksheetFunction.RandBetween(1, 99)
                ansX = CStr(num1 + num2)
                ans = InputBox(num1 & "+" & num2)
            Case 2 '引き算
                num1 = WorksheetFunction.RandBetween(50, 99)
                num2 = WorksheetFunction.RandBetween(1, 49)
                ansX = CStr(num1 - num2)
                ans = InputBox(num1 & "-" & num2)
            Case 3 '掛け算
                num1 = WorksheetFunction.RandBetween(1, 9)
                num2 = WorksheetFunction.RandBetween(1, 9)
                ansX = CStr(num1 * num2)
                ans = InputBox(num1 & "*" & num2)
            Case 4 '割り算
                num2 = WorksheetFunction.RandBetween(1, 20)
                ansX = WorksheetFunction.RandBetween(1, 9)
                num1 = num2 * ansX
                ans = InputBox(num1 & "/" & num2)
                ansX = CStr(ansX)
            End Select
            
            If ans = ansX Then
                cnt = cnt + 1
            End If
    Next
    MsgBox cnt & "問正解!"

End Sub
新人君
新人君

面白そうな問題ですね!

ブチョ
ブチョ

俺とお話してた方が面白いよ?

新人君
新人君

ナンパ師…?

コメント

タイトルとURLをコピーしました