[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『四則計算の値』(やま)
ディスプレイ画面に 大きく □ × □= を表示 して、どんどん問題が出てきて 制限タイム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.