以下のコードを実行した際の結果として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。
ただし、変数Nには数値の「7」がを代入されたものとする。
Sub Exam1()
Dim N As Long
N = 7
If N >= 10 Then
MsgBox "入力値は10以上です。"
Else
MsgBox "入力値は10未満です。"
End If
End Sub
1.コードは正常に実行され、メッセージボックスに「入力値は10以上です。」と表示される。
2.コードは正常に実行され、メッセージボックスに「入力値は10未満です。」と表示される。
3.コンパイルエラーが発生する。
4.実行時エラーが発生するものである。
正解
2
解説
【4章 ステートメント】
【If ステートメント ひとつの条件と合うときと、合わないときときの処理】
●Ifステートメント設定した条件が正しい時(合うとき)は、指定の処理を行う条件分岐のステートメントです。
●Else節を使用して条件に合わない時別の処理を以下の構文で設定するができます。
・If 条件 Then 処理1 Else 処理2
あるいは
・If 条件 Then
処理1
Else
処理2
End If
条件が合う正しい時(合うとき)時は処理を行います。条件が合わない(満たさない)時は処理2を行います。
・設定できる処理は複数可能です。
【コード解説】
以下のコードを実行した際の結果として、最も適切なものはどれか。以下の選択肢より1つ解答しなさい。
ただし、変数Nには数値の「7」がを代入されたものとする。
Sub Exam1()
Dim N As Long
N = 7
' この値を代入されたものと仮定します。
If N >= 10 Then
'条件分岐 点数Nの値が10以上のときは以下の処理を実行する。
MsgBox "入力値は10以上です。"
’メッセージを表示する。
Else
'条件に合わないときは以下の処理を実行します。
MsgBox "入力値は10未満です。"
’メッセージを表示する。
End If
End Sub

1.コードは正常に実行され、メッセージボックスに「入力値は10以上です。」と表示される。
誤り。
Nが7の場合、条件 N >= 10は偽となるため、Else節の処理が実行されます。
2.コードは正常に実行され、メッセージボックスに「入力値は10未満です。」と表示される。
正しい。
Nが7の場合、条件N >= 10は偽となるため、Else節に記述されたMsgBox "入力値は10未満です。"の処理が実行されます 。
3.コンパイルエラーが発生する。
誤り。
示されたコードはVBAの構文規則に則っており、コンパイルエラーは発生しません。
4.実行時エラーが発生する。
誤り。
Nには数値の7が正しく代入されており、Long型に適合するため、実行時エラーは発生しません。