[[20141124095655]] 『四則計算の値』(やま) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『四則計算の値』(やま)

 ディスプレイ画面に 大きく □ × □= を表示 して、どんどん問題が出てきて 
 制限タイム2分で、幾つ正解できるか? ゲーム感覚のを考えています。 

 以前「乱数を使った式」で、ご教示頂いてできているコードを記述しますが、そこから
 「変更」しましたのは、+ − × ÷ をランダムに表示する。
 ですから、 問題は、120種類作成しておいて、VLOOKUPで呼び出す。
 例 として、1番  12 × 6 = 12
       2番    14 − 8 =  2  「20÷7=」など防止する。
 A13=回数を(1−120)呼び出して表示 (フォント色を白色で見えなくしている)
 C30=その解答を表示 (同じく見えなくしている)
 B7(B7:F18)= 問題 H10(H10:H14)=記号(+等)J7(J7:M18)問題=と表示させている

 ◎ ここで、質問になるのですが、

 Sheet1=スタート タイトルと「スタート」のマクロボタン タイマーの起動
 Sheet2=ランダム 問題を表示・解答入力
 Sheet3=Sheet3  判定などを表示「次と交代のマクロボタン(解答削除しスタートへ)
 ◎ 前回は、数式計算の結果で「判定=◎ ?」をしましたが、C30セルと解答入力セル
 G24(G24:K39)とが一致すれば、判定セル=M24(M24:O39)に、◎ ? を表示させたい。

 シートモジュールには
 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim RndStr As Long
    Dim Result As String
    If Target.Row = 24 And Target.Column = 6 Then
        Result = IIf(Range("C30").Value = Range("G24").Value, "◎", "?")
        Range("M24").Value = Result
        If Result = "◎" Then ResultCnt = ResultCnt + 1
       Randomize
        RndStr = Int(120 * Rnd + 1)
        If ActiveSheet.Name = "ランダム" Then
            Range("A13").Value = RndStr
            Range("G24").Select
        End If
    End If
 標準モジュールには
 Public ResultCnt As Long
 Sub スタート_Click()
    ResultCnt = 0
    With ActiveSheet
        Range("A1").Value = Now + TimeValue("00:02:00")
        Application.OnTime Range("A1").Value, "計算やめ"
    End With
    With Worksheets("ランダム").Select
        Range("G24").Activate
    End With
 End Sub

Sub 計算やめ()

    MsgBox " や  め"
    With Worksheets("Sheet3")
        .Select
        With .Range("B11")
            .Value = ResultCnt
            .Activate
        End With
    End With
 End Sub

 Sub タイム解除()
      Application.OnTime Range("B11").Value, "交代", , False
 End Sub

 Sub 交代Click()
    Sheets("スタート").Range("A1") = ""
    Sheets("ランダム").Range("G24").MergeArea.ClearContents
    Sheets("スタート").Activate
 End Sub
 ◎ 以上ですが、流れの説明が上手くできませんが、よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


やまさんは塾の先生??
楽しそうな問題ですね。
120種類じゃ少ないと思わない?
こどもはバカじゃないからすぐに覚えちゃうよ。

(トモ君のママ) 2014/11/24(月) 22:09


 回答ではありませんが・・・
 過去の質問も載せて置かれると回答しやすいと思います。
[[20141117121140]]
[[20140922094502]]
[[20140920111922]]
[[20140910063023]]
[[20140810100539]]

 たぶんこの辺までが一連の流れでしょうか?
(稲葉) 2014/11/25(火) 08:38

(稲葉) 2014/11/25(火) 08:38 さん:

 ありがとうございました。「前回の内容」= [[20141117121140]] これから、変化させたい事ですが。
 ◎ 「表示中の問題=数式で答えを出している」わり算 の例
  Result = IIf(Range("B7").Value / Range("I7").Value = Range("F24").Value, "◎", "?")

 ◎ ここを、C30に表示される「当該問題の答え」と F24に「入力された数」が一致したら◎・?の判定に。
  他の箇所は、以前のとおりでいけるのかどうかも含めてご教示ください。
(やま) 2014/11/25(火) 09:00

 ◎ 追加: 初回質問時に選択ミスで 表示が違っているのに気づいたのでUP。
 古いExxel2003 Windows XPでも操作可能なように、Windows7 Excel2010で作成して97-2003ファイル保存しています。
(やま) 2014/11/25(火) 09:09

 ◎ 済みません! 質問用に作成したファイルが、以前のファイルと「1列」づれていました。

 If Target.Row = 24 And Target.Column = 6 Then   F24 セル を G24 セル にしていますから
 If Target.Row = 24 And Target.Column = 7 Then   ここの「ミス」を修正で解決しました。

 ◎ お騒がせをしてしまい、申し訳ありませんでした。

(やま) 2014/11/25(火) 15:03


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.