![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
エクセルで、四者択一問題を作成中です。
前回、回答していただいたお陰で、次々と問題を選択できるようになったのですが、
フォーム中の、txt解答欄に1~4の数字を入力し、cmd判定ボタンをクリックすると、データシートのN行目の6列目にある解答欄の数字と比べ、txt判定欄に正解か間違いを表示しようと考えているのですが、
If txt解答.Value = Worksheets("データ").Cells(n, 6).Value Then
txt判定.Value = "正 解"
Else
txt判定.Value = "間違い"
End If
間違いばかりが表示されて、正解が表示されません。
ちなみに、
TextBox6 = Worksheets("データ").Cells(n, 6).Value とすると
フォーム中のTextBox6にはtxt解答欄に入力した正解の“3”が表示されています。
どこが、悪いのでしょうか?
No.3ベストアンサー
- 回答日時:
Dim text as Sting
Dim num as Long
num = StrConv(text, vbNarrow)
とすると、
全角の3でも, 半角の3でも
勝手にVisual Basic がLong型に変換してくれますね。
これを、num = Clng(StrConv(text, vbNarrow))
とすると、より良いかも。
Visual Basic では、通常 "3" は 3 に変換しますね。
他の言語では、なかなかこんな風にはいかないようです(VB は超便利です)
すごい関数があるのですね。この関数だと
プログラムも簡潔にできると思います。
VBは奥が深いことがわかったので、
これから少しずつ勉強していきたいと思います。
有り難うございました。
No.2
- 回答日時:
TexBoxに入力された値は、たとえ数字を入れたとしても
それは、数値ではなく文字列なので、VALやCINTなどの関数を使って、TextBoxの数字を数値に変換してやらなければいけません。
●TextBoxの数字が全角、半角どちらでも許可する場合
If CInt(txt解答.Value) = Worksheets("データ").Cells(n, 6).Value Then
●TextBoxの数字が、必ず半角の場合は、VALでもいい
If Val(txt解答.Value) = Worksheets("データ").Cells(n, 6).Value Then
以上です。
早速回答を頂き有り難うございました。
3は数字ばかりと思っていました。TextBoxなので文字列なのですね。
教えていただいたとおり、Val関数でくくってやると、"正解"の2文字が出ました。本当に「正解」を教えていただき、有り難うございました。
No.1
- 回答日時:
>TextBox6 = Worksheets("データ").Cells(n, 6).Value とすると
フォーム中のTextBox6にはtxt解答欄に入力した正解の“3”が表示されています。
この文章では”txt解答欄”の値が正しいと検証されていませんけど・・・?
セルの回答値を取得出来ているだけですよね?
MsgBox txt解答欄.Value
MsgBox Worksheets("データ").Cells(n, 6).Value
とか、
MsgBox txt解答欄.Value & "/" & Worksheets("データ").Cells(n, 6).Value
などとして、双方の値を表示させて確認してみてはいかがですか?
早速回答を頂き有り難うございました。
3が文字であることがわかりました。フォーム中では、数字の3の
つもりで見ていました。VAL関数で数字にすると、正解が出ました。
うまくいきました。有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) ユーザーフォームに2つのコンボボックス銀行名「ConboBox1」支店名を「ConboBox2」とし 4 2022/08/03 17:34
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
OR関数
-
【解答】と【回答】の違い
-
ファインマン物理学の演習の解...
-
就活してて悩みます。 企業の面...
-
「解答」と「模範解答」の違い
-
求求解簽
-
エクセルの四者択一で、正解判...
-
英文法基礎精選問題集の解答書...
-
4000エーカーの広さは どれくら...
-
x分の2(分数)はどうやったら2x...
-
背ネーム書かないといけないん...
-
高齢者の夜の営みで悩んでます
-
高校数学です。 赤玉3個と白玉5...
-
時間について 60分は1時間です...
-
バイトのシフト変更のメールが...
-
バッドニュースファースト(フ...
-
暗黙の前提
-
0.75時間が45分というのはどう...
-
進研模試が・・・・
-
高二 現代文 高二です。現代文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OR関数
-
「解答」と「模範解答」の違い
-
豈非~乎の読み方
-
就活してて悩みます。 企業の面...
-
【解答】と【回答】の違い
-
ファインマン物理学の演習の解...
-
4000エーカーの広さは どれくら...
-
x分の2(分数)はどうやったら2x...
-
1つのさいころを2回投げると...
-
何を以て人に異ならんや。 の現...
-
ファースト(first)の「st」を右...
-
求求解簽
-
不正解の意味として 正しくない...
-
医療事務 管理士技能認定試験...
-
フッ化物の計算について(解答...
-
この問題の アイ の部分につい...
-
転廠(深加工結転)の英訳
-
CCNA サブネットの計算
-
秘書検定2級
-
銀行業務検定解答
おすすめ情報