[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『四則計算の値』(やま)
ディスプレイ画面に 大きく □ × □= を表示 して、どんどん問題が出てきて 制限タイム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 >
(トモ君のママ) 2014/11/24(月) 22:09
回答ではありませんが・・・ 過去の質問も載せて置かれると回答しやすいと思います。 [[20141117121140]] [[20140922094502]] [[20140920111922]] [[20140910063023]] [[20140810100539]]
たぶんこの辺までが一連の流れでしょうか? (稲葉) 2014/11/25(火) 08:38
 ありがとうございました。「前回の内容」= [[20141117121140]] これから、変化させたい事ですが。
 ◎ 「表示中の問題=数式で答えを出している」わり算 の例
  Result = IIf(Range("B7").Value / Range("I7").Value = Range("F24").Value, "◎", "?")
◎ ここを、C30に表示される「当該問題の答え」と F24に「入力された数」が一致したら◎・?の判定に。 他の箇所は、以前のとおりでいけるのかどうかも含めてご教示ください。 (やま) 2014/11/25(火) 09:00
古い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.