スタンダード 模擬問題

Excel VBA スタンダード 模擬試験 ランダム順出題 ④ 第3問 公開問題

次のコードは、整数を引数として受け取り、その値が10より大きいかどうかを判定し、

値が10以下の場合、処理を途中で終了し、値が10より大きい場合は "10を超えています" というメッセージを表示するマクロである。

空欄に入る適切な語句を解答しなさい。

Sub Exam1()

 Dim result As String

 Dim N As Integer

   N = 15

   result = CheckNumber(N)

     MsgBox result

End Sub

 Function CheckNumber(N As Integer) As String

   If N <= 10 Then

    Exit【 ① 】

End If

  CheckNumber = "10を超えています"

End Function

正解

【  ①   】function

解説

【3章 ステートメント】

【Exitステートメント】

Exitステートメントは、処理を途中で終了するステートメントです。

下記のような種類があります。

Exit Function…Functionプロシージャを終了させる。

Exit Sub…プロシージャを終了させる。

Exit For…for…Nextステートメント、For Each…Nexステートメントを終了させる。

Exit Do…Do…Loopステートメントを終了させる。

excel-vba-standard-test-statement

【コード解説】

Sub Exam1()

 Dim result As String

' 文字列型の変数resultを宣言します。CheckNumber関数の結果を格納するために使用されます。

 Dim N As Integer

' 整数型の変数Nを宣言します。

 N = 15

' Nに15を代入します。この値をCheckNumber関数に渡します。

  result = CheckNumber(N)

' CheckNumber関数を呼び出し、結果をresultに代入します。

   MsgBox result

'resultの内容をメッセージボックスで表示します。

End Sub

Function CheckNumber(N As Integer)

  If N <= 10 Then

'条件分岐

   Exit Function

' Nが10以下の場合、Functionプロシージャを途中で終了し、何も返さずに終了します。

 End If

   CheckNumber = "10を超えています"

' Nが10より大きい場合、文字列"10を超えています"を戻り値として返します。

End Function