#14エクセルVBA入門-Select条件分岐

Excel VBA

条件分岐で振分ける数が多い場合に便利なSelect Case 文を見ていきましょう。

条件は

  • signal 「信号」が赤は、結果が「Stop!
  • signal 「信号」が緑は、結果が 「Go!」
  • signal 「信号」が黄は、結果が 「Caution!」
  • signal 「信号」がそれ以外は、結果が 「NoN!」

とします。

プログラムにすると

signalを A1 に入力すると

結果を A2 に表示するようにすると

まず、変数宣言をします。

signalString型で宣言。

Sub SelectTest()
 
 Dim signal As String
    signal = Range("A1").Value
    
    

 

結果 resultを Rangeオブジェクト型で宣言。

オブジェクト型は Set を使用して代入します。

 
 Dim result As Range
    set result = Range("A2")
    
    

 

次に、場合分けは

signal の値により分けるので

 
 Select Case signal    
    

 

そして、色により判定しますので

 
 Case "red"
    result.Value = "Stop!"
 Case "green"
    result.Value ="Go!"
 Case "yellow"
    result.Value = "Caution!"
 Case Else
    result.Value = "NoN"
 End Select
    

 

となります。

 Option Explicit

Sub SelctTest()
    Dim signal As String
    signal = Range("A1").Value
    
    Dim result As Range
    Set result = Range("A2")
    
    Select Case signal
    
    Case "red"
        result.Value = "Stop!"
        
    Case "green"
        result.Value = "Go!"
        
    Case "yellow"
        result.Value = "Caution!"
        
    Case Else
        result.Value = "NoN"
        
    End Select
End Sub

    

 

コメント