[PR]牝綾
Infoseek 喨涓截


【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回】