分岐処理は様々な条件を評価して処理を選択する場合に使用します。
例えばなんらかの計算結果100以上の場合は処理A・100未満の場合は処理Bを実行する等です。
IFステートメント
IFステートメントは、指定した条件をみたしたかどうかの判定によって、処理を分須させるステートメントです。コーディング方法に種類がありますので紹介します。
'【基本的なIFの使い方】
'入力された値が10未満の場合はメッセージを表示する。
Sub IF_1()
Dim MyNumber As Long
MyNumber = InputBox("数値を入力してください。")
If MyNumber < 10 Then
MsgBox "10未満が入力されました"
End If
End Sub
'【Elseの使い方】
'入力された値が10未満または10未満以外の場合メッセージを表示する。
Sub IF_2()
Dim MyNumber As Long
MyNumber = InputBox("数値を入力してください。")
If MyNumber < 10 Then
MsgBox "10未満が入力されました"
Else
MsgBox "10以上が入力されました"
End If
End Sub
'【ElseIFの使い方】
'入力された値が10以上または10または10未満または条件を満たさない場合はメッセージを表示する。
Sub IF_3()
Dim MyNumber As Long
MyNumber = InputBox("数値を入力してください。")
If MyNumber > 10 Then
MsgBox "10以上が入力されました"
ElseIf MyNumber = 10 Then
MsgBox "10が入力されました"
ElseIf MyNumber < 10 Then
MsgBox "10未満が入力されました"
Else
MsgBox "条件を満たさない値が入力されました"
End If
End Sub
※InputBox関数はユーザーにデータを入力させるためのダイアログボックスです。別章で説明します。
ここではユーザーが数字を入力することを前提としています。
もし、数値以外を入力した場合はエラーが発生します。
Select Caseステートメント
Select Caseステートメントは1つの対象に対して複数の条件を繰り返し判断し値に応じて処理を分岐します。コーディング方法について紹介します。
'【Select Case 様々な条件指定方法】
'入力された値が0または1・2または3~9または10以上またはマイナスの場合それぞれメッセージを表示する。
Sub Select_Case_1()
Dim MyNumber As Long
MyNumber = InputBox("数値を入力してください。")
Select Case MyNumber
Case 0
MsgBox "0が入力されました"
Case 1, 2
MsgBox "1または2が入力されました"
Case 3 To 9
MsgBox "3から9が入力されました"
Case Is >= 10
MsgBox "10以上が入力されました"
Case Else
MsgBox "0未満が入力されました"
End Select
End Sub
次は繰り返し処理【Access/Excel】です。
コメント