脳トレ問題をExcel「エクセル」で作ってみよう!!

パソコンって疲れるなぁ~ パソコン教室

エクセルのマクロを使って、一桁の数字の四則演算の問題作成

わり算は、回答が難しくなるので、「+」「-」「×」のみ使用するようにしています。

「スタート」の処理

岡山市のパソコン・プログラミング教室、エクセルで作る脳トレ問題~スタート~

処理内容

スタートボタンが押下されたら?

  1. タイマーの開始
  2. 1~10の数値をランダムに発生させ、計算する数字をセットしていく、演算子も同様に1~3の数値で、演算子を決める
  3. 終わったら、入力エリアの選択する。

入力がしやすいように、最後に選択エリアを範囲選択しています。
Excelでは、選ばれた選択範囲で繰り返し移動できます。

スタートボタンのプログラムは?

    Range("時間").Value = ""
    t1 = Now

    For i = 0 To 9
        Cells(2 + i, 5).Value = ""
        Cells(2 + i, 6).Value = ""
        Cells(2 + i, 1).Value = Rand(10, 1)
        Cells(2 + i, 3).Value = Rand(10, 1)
    
        Select Case Rand(3, 1)
            Case 1: Cells(2 + i, 2).Value = "+"
            Case 2: Cells(2 + i, 2).Value = "-"
            Case 3: Cells(2 + i, 2).Value = "×"
            Case 4: Cells(2 + i, 2).Value = "÷"
        End Select
        Cells(2 + i, 4).Value = "="
    
    Next i
    
    Range("E2:E11").Select

Range(“時間”)は、タイマーの表示箇所の名前です。
Rand関数は、乱数発生の関数を作っています。いろいろなサイトで紹介されていますので、ここでは、紹介のみで、説明はしません。

実際には、「÷」は出てきませんが、何かしら方法があれば、2桁の計算などで使えるかも知れないのでそのままにしています。

最後のRangeでの指定で入力エリアを選択して入力できるようにしています。

終わりボタンが押されたら?

  1. タイマーを停止して、時間を表示する
  2. 入力された値と実際の計算結果とを比較して、「〇」「×」を表示する。
  3. 点数を計算して表示する。

終わりボタンのプログラムは?

    Dim a As Integer
    Dim b As Integer
    Dim ans As Integer

    t2 = Now

    For i = 0 To 9
        a = Cells(2 + i, 1).Value
        b = Cells(2 + i, 3).Value
    
        Select Case Cells(2 + i, 2)
        
            Case "+": ans = a + b
            Case "-": ans = a - b
            Case "×": ans = a * b    
        End Select
    
        If ans = Cells(2 + i, 5) Then
            Cells(2 + i, 6) = "〇"
        Else
            Cells(2 + i, 6) = "×"
        End If
    Next i
    
    Range("時間").Value = t2 - t1

演算子によっての分岐、計算結果の判定をしています。
「〇」「×」の数は、シート側で、COUNTIF関数を使って出しています。

岡山市のパソコン・プログラミング教室、エクセルで作る脳トレ問題~結果表示~

Rand関数は?どこかのサイトからのコピペで作成した物を使いまわしています。
使っているのは、こんな感じです。

Public Function Rand(iMax As Integer, iMin As Integer) As Integer

    '// 疑似乱数列初期化
    Call Randomize
    
    '// 最大値~最小値の範囲の乱数を取得
    Rand = Int((iMax - iMin + 1) * Rnd + iMin)

End Function

プログラミングの利点の一つに、自作した関数を保存しておくと、使いまわしができることです。
エクセルのVBAであれば、コピペ作成も可能ですし、必要に応じて、少し変更するなど、作れば作るだけ、引き出しが増えていきます。

パソコン・スマホのスキルアップなら、岡山市北区のパソコン教室「キュリオステーション岡山店」へ通いやすい仕組みの料金設定にしています。同じ料金設定の中高生も大人もスキルアップできる初心者向けのプログラミング教室、子ども向けの知的好奇心を育むロボット教室マンツーマン個別レッスンの英会話教室もしています。

お問い合わせ

TEL:086-206-5592

WEB:WEB予約

岡山市北区のキュリオステーション岡山店
岡山県内でパソコン・プログラミング教室をお探しなら岡山市北区のキュリオステーション岡山店へ、パソコンやスマホ、プログラミングのスキルアップに、園児から通えるロボット教室、英語教室など楽しくスキルアップできる地域に愛される教室を目指しています
岡山市北区の初心者向けパソコン教室「キュリオステーション岡山店」
岡山でパソコンを楽しく学ぶならワクワク感満載の岡山市北区のキュリオステーション岡山店へ、パソコンの便利な使い方など、使えるようになるとパソコンをさわるのが楽しくて仕方ない。解りやすい説明も好評の岡山市北区のパソコン教室へ
岡山市北区のプログラミング教室「キュリオステーション岡山店」
岡山でパソコン・プログラミング教室をお探しなら、キュリオステーション岡山店へ、岡山地域で一番の問題解決力「私には解りやすかった」との感想が多い岡山市北区のプログラミング教室です。驚きの回答と効率よい学び方の相談などお気軽にお問い合わせを!!
岡山市北区~ヒューマンアカデミーロボット教室~【岡山表町教室】
岡山でロボット教室|ロボットプログラミング教室をお探しなら、岡山市で発想力と応用力を養う習い事と話題のヒューマンアカデミーロボット教室「岡山表町教室」へ。準備も片付けも自分で!普段見られない姿が見られるロボット・ロボットプログラミング教室
岡山市北区のこども英会話教室【岡山表町教室】
岡山で子ども向け英語教室・英会話教室をお探しなら、岡山市北区の恥ずかしがり屋な子ども向け英語・英会話教室ヒューマンアカデミージュニアランゲージスクール岡山表町へ、外国人講師と楽しくオンラインで英会話を楽しみながら英語を学ぶ英会話教室です。

 

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