条件分岐

■Ifステートメント

Ifステートメントは条件分岐処理の1つです。
条件が一致していた場合に特定の処理を行うことができます。

●書式
	書式は大きく分けて3つあります。

	・書式例1:
		If 条件 Then
			条件が満たされていたら実行する
		End If

	・書式例2:
		If 条件 Then
			条件が満たされていたら実行する
		Else
			条件が満たされていなかったら実行する
		End If

	・書式例3:
		If 条件1 Then
			条件1が満たされていたら実行する
		ElseIf 条件2 Then
			条件2が満たされていたら実行する
		Else
			条件1と2が満たされていなかったら実行する
		End If

●比較演算子
	条件の設定には比較演算子を使用します。
	tool_0022

	具体例:
		Sub Test()
			Dim val As Integer
			val = Cells(1, 1).Value

			If val = 0 Then
				Cells(1, 2).Value = "犬"
			ElseIf val = 1 Then
				Cells(1, 2).Value = "猫"
			Else
				Cells(1, 2).Value = "その他"
			End If
		End Sub

		実行結果:
			シートの列1、行1の値が0なら犬
			シートの列1、行1の値が1なら猫
			シートの列1、行1の0と1以外ならその他と表示される

●論理演算子
	1つの条件式に複数の条件を設定することができ、
	その場合は論理演算子を使用します。
	tool_0023
	tool_0024

	具体例:
		Sub Test()
			Dim val1 As Integer
			Dim val2 As Integer
			hp = Cells(2, 1).Value
			mp = Cells(2, 2).Value

			If val1 >= 50 And val2 >= 50 Then
				Cells(2, 3).Value = "S"
			ElseIf val1 >= 50 Or val2 >= 50 Then
				Cells(2, 3).Value = "A"
			Else
				Cells(2, 3).Value = "B"
			End If
		End Sub

		実行結果:
			シートの列2、行1の値と列2、行1の値が両方50以上ならS
			シートの列2、行1の値と列2、行1のどちらかの値が50以上ならA
			それ以外はB

■Select Caseステートメント

Select CaseステートメントもIfステートメントと同様に
条件によって処理を分岐させます。
Select Caseも書式が複数あります。

●書式
	・書式その1 => 数値指定
		「Case 値」と記述することで値が
		Select Case 変数の値と等しいかどうかを判定します。

		書式例:
			Select Case 変数
				Case 条件1
					条件1が真だったときの処理
				Case 条件2
					条件2が真だったときの処理
				Case 条件3
					条件3が真だったときの処理
				Case Else
					条件1~3のどの条件にも
					当てはまらなかったときの処理
			End Select

		具体例:
			Dim val As Integer : val = 1

			Select Case val
				Case 1
					MsgBox "valが1"
				Case 2
					MsgBox "valが2"
				Case Else
					MsgBox "それ以外"
			End Select

			実行結果:
				メッセージボックスにvalが1と表示される

	・書式その2 => 条件指定
		「Case Is」と記述すると条件を指定することができ、
		その条件が満たされているかどうかで判定されます。
		比較する値は「Select Case」の後ろの変数が使用されます。

		書式例:
			Select Case 変数
				Case Is 条件1
					条件1が真だったときの処理
				Case Is 条件2
					条件2が真だったときの処理
				Case Is 条件3
					条件3が真だったときの処理
				Case Else
					条件1~3のどの条件にも
					当てはまらなかったときの処理
			End Select

		具体例:
			Dim val As Integer: val = 10
			
			Select Case val
				Case Is <= 10
					MsgBox "valが10以下"
				Case Is <= 20
					MsgBox "valが20以下"
				Case Else
					MsgBox "それ以外"
			End Select

				実行結果:
					メッセージボックスにvalが10以下と表示される

	・書式その3 => 範囲指定
		「Case 値1 To 値2」と記述すると「Select Case」の後ろの変数の値が
		値1と値2の間かどうかを判定します。
		値は以上と以下の判定なので、「0 To 10」だったら「0以上10以下」となります。

		書式例:
			Select Case 変数
				Case 値1 To 値2
					条件1が真だったときの処理
				Case 値3 To 値4
					条件2が真だったときの処理
				Case 値5 To 値6
					条件3が真だったときの処理
				Case Else
					上の条件にどれも当てはまらなかったときの処理
			End Select

		具体例:
			Dim val As Integer: val = 10
			Select Case val
				Case 0 To 10
					MsgBox "valが0以上10以下"
				Case 11 To 20
					MsgBox "valが11以上20以下"
				Case Else
					MsgBox "それ以外"
			End Select

			実行結果:
				メッセージボックスにvalが0以上10以下と表示される