
VBAのクイズの作り方で質問があります。
参考にしたURL→https://www.sejuku.net/blog/93087
正解の表示に出来ず困っています。
不正解です。0番名の選択肢が正解です。とMsgBoxが出てきます。
サイト通りにやってみましたが中々うまくいけません。
どうかご教授お願い致します。
後、ランダムではなく上から順番に問題を出したいのですが、どのようなコードを書けばいいでしょうか?
よろしくお願いいたします。

A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
Call QuizCreate
Sub QuizCreate() で
pubIntAnserNo に代入された値を確認してみましょう
#2 抜けていました
quizNo = 0
この0を変数にしてボタン押下ごとに +1する
No.2
- 回答日時:
こんにちは
pubIntAnserNoが0と言う事は
Public pubStrQuestion As String '質問
Public pubStrAnser1 As String '選択肢1
Public pubStrAnser2 As String '選択肢2
Public pubStrAnser3 As String '選択肢3
Public pubIntAnserNo As String '正解No
グローバル変数になっていますか?
グローバル変数については
https://www.sejuku.net/blog/68356
後・・・
quizNo = Int(5 * Rnd + 1) ->>
quizNo = 0 のちに見出し分が+されているようです。
No.1
- 回答日時:
こんにちは
>不正解です。0番名の選択肢が正解です。とMsgBoxが出てきます。
原因はいろいろ考えられるので、その上だけでは特定はできません。
・シートに正解番号が記されていない
・正解番号がパブリック変数になっていない
・正解番号を変数に設定していない
などなどが考えられます。
>サイト通りにやってみましたが中々うまくいけません。
「やったつもり」と「やっている」は全く違います。
丹念に見直してみましょう。
>ランダムではなく上から順番に問題を出したいのですが、~
ランダムに番号(quizNo)を決める代わりに、番号の初期値を1にしておいて、次の問題の時には順次 +1 してゆくようにすれば良いでしょう。
番号が5を超えたらどうするのか
・1に戻る
・ランダムに切り替える
・「ネタ切れ!」と表示する
などについては、質問者様のお考えによります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Excelマクロのコードができる方に質問します。
Visual Basic(VBA)
-
VBAのコードについて
Visual Basic(VBA)
-
VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか?
Visual Basic(VBA)
-
4
VBAでtxtファイルを読み込む際にtabを認識したい
Visual Basic(VBA)
-
5
Excel VBAでフォルダ内の全テキストファイルの任意データを取得について
Visual Basic(VBA)
-
6
リストボックスについて
Excel(エクセル)
-
7
VBAの質問です msg = ws.Cells(r, A").Value & "日に" & ws."
Visual Basic(VBA)
-
8
VBA 自作カレンダー コマンドボタンについて
Visual Basic(VBA)
-
9
VBA教えてください!
Visual Basic(VBA)
-
10
VBA リストボックスをダブルクリックしデータを修正したいのですが…。
Visual Basic(VBA)
-
11
Excelマクロ 行の削除
Visual Basic(VBA)
-
12
VBAで教えて頂きたいのですが?
Visual Basic(VBA)
-
13
配列の書き出しコードについての質問
Visual Basic(VBA)
-
14
複数のcsvをVBAでマージする方法をご教示ください!
Visual Basic(VBA)
-
15
連想配列について
Visual Basic(VBA)
-
16
VBAでsubをcallした場合のみエラーになる
Visual Basic(VBA)
-
17
【関数orVBA】カーソルのある行を黄色にし、A列の値を別シートに表示できますか?
Visual Basic(VBA)
-
18
VBA RemoveDuplicatesで「アプリケーション定義またはオブジェクト定義のエラーです」
Visual Basic(VBA)
-
19
CSVファイルの比較と結果の取得(2次元配列へ)について。
Visual Basic(VBA)
-
20
excel vba で押してください。(changeイベント)
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
シリアルナンバーを紛失してし...
-
5
おすすめの囲碁学習ソフトを教えて
-
6
PCソフトをAndroidに対応させる...
-
7
どこで勉強したのですか?
-
8
パソコン1台のiTunesを2台のi...
-
9
Ubuntuがインストールできない
-
10
パソコンで小説を書きたいので...
-
11
Windows10のPCのアプリを他のPC...
-
12
プログラミングって勉強してい...
-
13
Auto CAD の語源対応ソフトにつ...
-
14
シーケンサー 動作確認 フリ...
-
15
メモ帳 プログラミング 人狼作...
-
16
Windows7でフォトムービーを作...
-
17
なんで喫茶店や図書館などでプ...
-
18
音声読み上げソフトの読み間違...
-
19
インストール済のOfficeシリア...
-
20
パソコンを買い替えた場合iTune...
おすすめ情報
公式facebook
公式twitter
■UserForm1のコードです。
続きは
If pubIntAnserNo = selectOptionNo Then
MsgBox "正解です!おめでとうございますー!"
Exit Sub
Else
MsgBox "不正解です。" & pubIntAnserNo & "番名の選択肢が正解です。", vbCritical
Exit Sub
End If
End Sub
■Module1に
UserForm1.Show
■Module2に
Public pubStrQuestion As String
Public pubStrAnser1 As String
Public pubStrAnser2 As String
Public pubStrAnser3 As String
Public pubStrAnserNo As String
を入れてます。