![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
最大の問題点
Sub リセット()
Dim i As Integer 'カウンタ変数
Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim D As Integer
For i = ORG_CLM To DST_CLM
Cells(i, ANSW1_RWS).ClearContents '値をクリア
Cells(i, ANSW2_RWS).ClearContents
Cells(i, ANSW1_RWS).Font.Color = vbBlack '文字色を黒に
正誤判定する前にクリアしちゃったら、全ての計算式が不正解扱いになりますので1桁しか表示されないですよね、クリアするのは、その後のIF文の後ですね
次に
A = Int(Rnd * 8) + 1
この乱数だと1~8までの数値しか作成されないですよね
1桁の整数なら
A= Int(Rnd * 9) + 1
になります
で最後に
C = Int(Rnd * 10) + 1
' D = Int(Rnd * 10) + 1
Cells(i, NUM1_RWS).Value = A * C
' Cells(i, NUM2_RWS).Value = D
ここの意味がわからん?
単純に2桁の整数を作成するのであれば
A = Int(Rnd * 90) + 10
Cells(i, NUM1_RWS).Value = A
だけで良い筈(前回の私の式も間違ってたけど)
No.1
- 回答日時:
>1問が間違っていたら、乱数を使い1ケタへ。
合っていたら2ケタへ1桁、2桁とは何を指していますか?
>計算プログラムを作りたい
計算プログラムとは?
何を計算するのですか?
>5問の問題があり
計算問題を作成し1問目の計算があっていたら計算問題の桁数を増やすって事?
質問内容からやりたい事の全体像がつかめません
1桁、2桁の乱数作成であれば
http://www.excel-vba.net/excel-function-016.html
Int(9 * Rnd + 1) 1桁
Int(99 * Rnd + 1) 2桁(計算結果によっては1桁の場合も有りますInt(89 * Rnd + 10)なら2桁確定かな?)
ですが、こう言ったことじゃない?
この回答への補足
意味不明で言葉が足らず申し訳ありません。
以下、ソースです。
今の状態は、1ケタ+1ケタの表示はできますが、この1ケタ+1ケタが正解だった時、2ケタ+1ケタを表示させたいのですが、出来ない状態です。
どこがおかしいのでしょうか?
Option Explicit '足し算
Const ORG_CLM As Integer = 4 '問題の開始行
Const DST_CLM As Integer = 8 '問題の終了行
Const NUM1_RWS As Integer = 2 '問題の数値1のB列
Const NUM2_RWS As Integer = 4 '問題の数値2のD列
Const ANSW1_RWS As Integer = 6 '回答欄のE列
Const ANSW2_RWS As Integer = 7 '回答欄のF列
Sub チェック()
Dim i As Integer 'カウンタ変数
i = 1
For i = ORG_CLM To DST_CLM
'B列の値とD列の値の和がF列に入力された答えと正しいか判定
If Cells(i, NUM1_RWS).Value + Cells(i, NUM2_RWS).Value = Cells(i, ANSW1_RWS).Value Then
Cells(i, 6).Font.Color = vbBlue '正解なら文字色を青に
Else
Cells(i, 6).Font.Color = vbRed '不正解なら文字色を赤に
End If
If Cells(i, NUM1_RWS).Value + Cells(i, NUM2_RWS).Value = Cells(i, ANSW1_RWS).Value Then
Cells(i, 7) = "○" '正解なら○で表示
Else
Cells(i, 7) = "×" '不正解なら×を表示
End If
Next i
End Sub
Sub リセット()
Dim i As Integer 'カウンタ変数
Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim D As Integer
For i = ORG_CLM To DST_CLM
Cells(i, ANSW1_RWS).ClearContents '値をクリア
Cells(i, ANSW2_RWS).ClearContents
Cells(i, ANSW1_RWS).Font.Color = vbBlack '文字色を黒に
'B列の値とD列の値の和がF列に入力された答えと正しくないか判定
'答えが合っていなかったら、1桁+1桁。
If Cells(i, NUM1_RWS).Value + Cells(i, NUM2_RWS).Value <> Cells(i, ANSW1_RWS).Value Then
A = Int(Rnd * 8) + 1
Cells(i, NUM1_RWS).Value = A
' B = Int(Rnd * 8) + 1
' Cells(i, NUM2_RWS).Value = B
End If
'答えが合っていたら、2桁+1桁。
If Cells(i, NUM1_RWS).Value + Cells(i, NUM2_RWS).Value = Cells(i, ANSW1_RWS).Value Then
C = Int(Rnd * 10) + 1
' D = Int(Rnd * 10) + 1
Cells(i, NUM1_RWS).Value = A * C
' Cells(i, NUM2_RWS).Value = D
End If
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBA VLOOKUPを使ってのカウント作業 2 2023/02/19 09:03
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- 会計ソフト・業務用ソフト Excel IF構文内の計算式を有効にする方法 2 2023/03/22 11:27
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Ruby VBA 2 2023/01/14 14:14
- C言語・C++・C# c言語 1 2022/11/09 13:05
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/09 10:07
- Java Javaの問題なのですが、 永久ループを使って以下に従って数値を出力するプログラムを作成する。 ・1 3 2023/06/06 18:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
計算機はなぜ計算間違いをしないか
-
フラクタル次元の解析プログラ...
-
プログラムの発散
-
VBAで関数をつくる
-
[ASP]日付と時間の比較
-
EXCELなどで「返す」という表現
-
PHPで四則演算以外の微分、積分...
-
EXCEL VBAとワークシート関数の...
-
優先度付き待ち行列について
-
アドオン利率を実質年率に変換
-
バッチファイルでウインドウを...
-
骨折リスク評価のFRAXについて...
-
スパイダソリティアの問題
-
桁区切り数値の計算
-
【JAVA】数字をひし形に出力す...
-
Bluestacks内でダウンロードし...
-
グループを均等に分けるには?...
-
COBOLのUNSTRINGについて
-
自動クエリとはどういうもので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
mod でうまく
-
めちゃきれい
-
VBAの再計算が反映されない件に...
-
排他的論理和 BCC(水平パリテ...
-
バッチファイルでウインドウを...
-
モジュラス103の計算とは何でし...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
60進数の四則計算
-
プログラムの質問
-
VBでReplace
-
数値計算の高速化 (cos, sin, exp)
-
C言語についてです。 再帰を使...
-
Javaを使った行列計算
-
C言語のプログラミングの問題で...
-
エクセルで特定のセルのみを任...
-
matlab計算での進捗状況を知りたい
-
CとFORTRANの計算速度はどちら...
-
matlabで計算終了
おすすめ情報