【HOME】 【INDEX】 【第1回】 【第2回】 【第3回】 【第4回】【第5回】
プログラミングの基礎編 第4回
制御ステートメント(1)
条件分岐を制御させるステートメント
● 制御とは
プログラムの実行の流れを変える(制御する)ステートメントを制御ステートメントと
いいます。
● 制御ステートメントの種類
VBAでは、おおきく3つの制御ステートメントに分かれます
(1) 条件による分岐をさせるステートメント
(2) 処理の繰り返しをさせるステートメント
(3) プログラムの流れを制御させるステートメント
● 条件分岐を制御させるステートメント
(1)If 条件式 Then 処理
もし 条件式が真ならば 処理を実行しなさい という制御です
例 If Range("A1")>0 Then Range("B1")="0より大きい"
If 条件式 Then
処理
End If ・・・・ 最後にEnd If ステートメントで完結
処理は複数のステートメントを記述できます
通常は ⊆阿鮖箸Δ海箸おおいでしょ
例 If Range("A1")>0 Then
Range("B1")= 10
Range("C1")= "○"
End If
セル A1 に 0より大きい数値が代入されていれば B1に 10 C1に ○を
代入します
(2) If 条件式 Then 処理1 Else 処理2
もし 条件式が真ならば 処理1 偽ならば 処理2を 実行しなさい
これもよく使うステートメントですね ^^
複数のステートメントを記述する場合は上式と同様
If 条件式 Then
処理1
Else
処理2
End If
というコードを記述します
例 If Range("A1")>0 Then
Range("B1")= "○"
Else
Range("B1")= "×"
End If
A1のセルに0より大きいとき
B1は○
それ以外 つまり0 または - の数値のとき
× を代入
(3) If 条件式1 Then
処理1
ElseIf 条件式2
処理2
Else
処理3
End If
もし 条件式が真ならば 処理1
偽のときに もし 条件式2が真ならば 処理2を
それ以外は 処理3を 実行しなさい
例 If Range("A1")>0 Then
Range("B1")= "▲"
ElseIf Range("A1")= 0
Range("B1")= "○"
Else
Range("B1")= "▼"
End If
A1の値が0より大きいとき
B1に▲
0の時は ○
0より小さいときは
▼を代入
(3) Select Case 変数
Case 条件1
Case 開始値 To 終了値
Case 条件値2,条件値3
Case Is 比較演算子 または 以上(以下)
Case Else それ以外の条件値
End Select ・・・ End Select のステートメントで完結
ひとつの変数の内容や条件によって複数の処理に分岐させたいときに使います
ただし、Select Caseの場合は、上から順に処理していきますので
条件を指定するときには注意が必要です
例 Select Case Range("A1")
Case 10
Range("B1")=1
Case 20,30,40
Range("B1")=2
Case is >50
Range("B1")=3
Case Else
Range("B1")=0
End Select
今回は、条件による分岐をさせるステートメントを解説してみました
次回は
(2) 処理の繰り返しをさせるステートメント
(3) プログラムの流れを制御させるステートメント
について解説してみたいと思います
To be Continued …
05/12/13 作成
【HOME】 【INDEX】 【第1回】 【第2回】 【第3回】 【第4回】【第5回】