Excel VBA(エクセル マクロ) 関数集 条件分岐

IF〜Then、Select Case

Excel VBAでの条件分岐

・IF〜Then(Excel VBA)
 条件を満たせば実行する。
 
 Cells(line, 11)の値が無ければ「値なし」を代入。値があれば文字の色を青色にする。

 If Cells(line, 11).Value = "" Then
   Cells(line, 11).Value="値なし"
 Elseif Cells(line, 11).Value = "○" Then
   Cells(line, 11).Font.ColorIndex = 3
 Else
   Cells(line, 11).Font.ColorIndex = 5
 End If

複数条件を使用するときはElseifをElsifと間違えないように。

[比較演算子]
= 等しい
<> 等しくない
< より小さい
<= 以下
> より大きい
>= 以上

[関係演算子]
And 条件式の両方を満たした時
Or 条件式のどちらかを満たした時
Not 条件式を満たさない時


IF関数(Excel関数)

通常のIF関数についても記載しておく。

=IF(AND(A1>=0,A1<=30),"×","○")
A1の値が0以上かつ(AND)30以下だったら×を記載、それ以外だったら○を記載する。

VBAのElseifのような複数条件を実現したい場合は、IFの条件式に当てはまらない時の処理、ここでは"○"のところにIF文をつなげる。

=IF(AND(A1>=0,A1<=30),"×",IF(AND(A1>30,A1<=60),"△","○")))
A1の値が0以上かつ(AND)30以下だったら×を記載、それ以外でA1の値が30より大きくかつ60以下なら△を記載、それ以外であれば○を記載する。
"○"の部分にIF文を入れていけばさらに条件を加えることができる。

・Select Case
 複数条件での処理を実行する。

 Select Case Cells(line, 11).Value
   Case 1,3
     MsgBox "1,3です"
   Case 2,4
     MsgBox "2,4です"
   Case Else
     MsgBox "それ以外です"
 End Select

 Select Case Cells(line, 11).Value
   Case 1 To 3
     MsgBox "1〜3です"
   Case 4 To 7
     MsgBox "4〜7です"
   Case Else
     MsgBox "それ以外です"
 End Select

 Select Case Cells(line, 11).Value
   Case Is < 3
     MsgBox "3以下です"
   Case Is< 7
     MsgBox "4〜7です"
   Case Else
     MsgBox "それ以外です"
 End Select


忍者Admaxのテキスト広告で収入UP!

実践!ExcelデータベースTOP