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

新人君
面白そうな問題ですね!

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

新人君
ナンパ師…?
コメント