3. VBA の作成
3.2. 条件分岐の利用法
3 .VBA の作成
目的
3.VBAの作成
目的
3.2.条件分岐の利用法
資料
■条件分岐とは
・[条件]を満たすのであれば[命令]を実行するという分岐を作る命令
・コード例は、セルC8が4未満ならセルC8に0を代入する 命令である
■If とは
・コード例で用いた、条件分岐を作る命令である
・1行目の Cells(8,3) < 4 が[条件]にあたる
・2行目の Cells(8,3) = 0 が[命令]にあたる
条件分岐の基本的な記述方法を学ぶ
条件分岐の基礎
48
1
コード例と解説
1 If Cells(8,3) < 4 Then 2 Cells(8,3) = 0 3 End If
If [条件] Then [命令]
End If
If文
書式
If と Then を記述し、間に条件を記述する
Then からEnd If までの範囲が、条件を満たす
際に実行される命令となる
3.VBAの作成
目的
3.2.条件分岐の利用法
資料
条件として用いられる数値の比較の方法を学ぶ
条件と数値の比較
49
2
[数値A] = [数値B] [数値A]と[数値B]が等しい場合 [数値A] <> [数値B] [数値A]と[数値B]が異なる場合 [数値A] > [数値B] [数値A]が[数値B]より大きい場合 [数値A] >= [数値B] [数値A]が[数値B]以上の場合 [数値A] < [数値B] [数値A]が[数値B]より小さい場合 [数値A] <= [数値B] [数値A]が[数値B]以下の場合
数値の比較
書式
・数値を比較する一般的な書式を示す
・場合を満たすとき、条件が満たされる(正しい)と言える
・条件とは「正しい」と「誤り」どちらかを値として示すモノである
・ここでは、主に数値を比較したものを利用する
・このように、「正しい」か「誤り」しかない値を「論理値」と呼ぶ -True と False しか値を持たない
・論理値同士の計算として次のものがある
-[論理値A] And [論理値B] :どちらの論理値もTrueのときにTrueを示す -[論理値A] Or [論理値B] :どちらかの論理値がTrueのときにTrueを示す
・論理値の頭にNotをつけると、示す値が逆になる 補足
3.VBAの作成
目的
3.2.条件分岐の利用法
資料
名称 If Else If文 分岐 3分岐
特徴
[条件A]を満たさな い場合に、別の[条 件B]に対するIf文 を持つ
⇒3.2.5章 名称 If Else文 分岐 2分岐 特徴
[条件]で場合分け したどちらの分岐 先にも命令を持つ
⇒3.2.4章 名称 If 文
分岐 2分岐 特徴
[条件]を満たした 場合のみ、分岐先 に命令を持つ
If 文を用いた条件文の種類とその分岐について学ぶ
条件分岐の種類 (1/3)
50
3
If
[命令]
End If
[条件] Then
If
[命令A]
End If
[条件] Then
[命令B]
Else
If
[命令A]
End If
[条件A] Then
[命令B]
Else
[条件B] Then
If
・組み合わせることで、より分岐の多いものも作ることができる 補足
3.VBAの作成
目的
3.2.条件分岐の利用法
資料
■If-Else文とは
・もし条件を満たせば[命令A]を、満たさなければ[命令B]を実行する 分岐を作る命令
・コード例は、C8が4未満であればC8に0を代入する、それ以外であ ればC8に16を代入する命令を示す
条件を満たさない場合に何らかの命令を実行する記 述方法を学ぶ
条件分岐の種類 (2/3)
51
4
コード例と解説
1 If Cells(8,3) < 4 Then 2 Cells(8,3) = 0 3 Else
4 Cells(8,3)=16 5 End If
If [条件] Then [命令A]
Else
[命令B]
End If
If-Else文
書式
If
[命令A]
End If
[条件] Then
[命令B]
Else
3.VBAの作成
目的
3.2.条件分岐の利用法
資料
■If-Else If文とは
・[条件A]を満たせば[命令A]を、満たさない場合に[条件B]を満たせ ば[命令B]を実行する分岐を作る命令
・コード例は、C8が4未満であればC8に0を代入する、それ以外の場 合、E8が4より大きければ16を代入する命令である
条件を満たさない場合に、他の判定を行う条件分岐 の記述方法を学ぶ
条件分岐の種類 (3/3)
52
5
コード例と解説
1 If Cells(8,3) < 4 Then 2 Cells(8,3) = 0
3 ElseIf Cells(8,4) > 4 Then 4 Cells(8,4)=16
5 End If
If [条件A] Then [命令A]
ElseIf [条件B] Then [命令B]
End If
If-ElseIf文
書式
If
[命令A]
End If
[条件A] Then
[命令B]
Else
[条件B] Then
If
課題
3.VBAの作成
課題フォルダ 課題3 利用ファイル
参考章
課題
3.2.条件分岐の利用法
セルの値を比較し、結果を返すマクロを、ファイル中 の指示に従い作成せよ
セルの値の比較
53
6
課題3_2_1 3.2.1章, 3.2.2章
3.2.1
3.VBAの作成
目的
3.2.条件分岐の利用法
資料
■コードの解説
・If文は、命令として扱うことができる
・そのため、If文の中にIf文を埋め込むことができる
・コードは、C8が4未満の際にD8が4未満なら、E8に「どちらも4未満」
と表示する
If 文を二重にして扱う考え方を学ぶ
二重の条件分岐
54
7
コード例と解説
1 If Cells(8,3) < 4 Then 2 If Cells(8,4) < 4 Then
3 Cells(8,5) = “どちらも4未満” 4 End If
5 End If
If
[命令]
End If
[条件A] Then [条件B] Then
If
End If
課題
3.VBAの作成
課題フォルダ 課題3 利用ファイル
参考章
課題
3.2.条件分岐の利用法
二重の条件分岐を用いて、セルの値を判定するマク ロを、ファイル中の指示に従い作成せよ
セルの値の判定
55
8
課題3_2_2 3.2.7章