アットウィキロゴ

Select Case 文 | ExcelVBA 基礎知識

 IF Elseif 文 からの続きです。

Select Case 文も、条件をいくつも書き連ねて、処理を分岐できます。

セルA1の値が”アメリカ”なら”ワシントン”、”日本”なら”東京”、”韓国”なら”ソウル”とするには、こうします。

Private Sub CommandButton1_Click()
Select Case Range("A1").Value
Case "アメリカ"
Range("B1").Value = "ワシントン"
Case "日本"
Range("B1").Value = "東京"
Case "韓国"
Range("B1").Value = "ソウル"
End Select
End Sub

 一行ずつ解説します。

Private Sub CommandButton1_Click()

CommandButton1という名前のボタンをクリックしたときに実行される処理、という意味です。

Select Case Range("A1").Value

(条件分岐の)対象をセルA1 とする、という意味です。

Case "アメリカ"

(セルA1の値が)”アメリカ”なら・・・、という意味です。この条件に合致したら、次の行の機能が実行されます。

Range("B1").Value = "ワシントン"

セルA1の値を、”ワシントン”にする、という意味です。

Case "日本"

(セルA1の値が)”日本”なら・・・、という意味です。この条件に合致したら、次の行の機能が実行されます。

Range("B1").Value = "東京"

セルA1の値を、”東京”にする、という意味です。

Case "韓国"

(セルA1の値が)”韓国”なら・・・、という意味です。この条件に合致したら、次の行の機能が実行されます。

Range("B1").Value = "ソウル"

セルA1の値を、”ソウル”にする、という意味です。

End Select

Select Case 文の終わりです。

 

If Else文やIf ElseIf文などと同様、デフォルトの処理を指定したい場合は、最後のCaseステートメントのあとに、

Case Else デフォルトの処理

とします。

Select Case文の書式は、こうなります。

Select Case 対象
    Case 条件1
        処理1
    Case 条件2
        処理2
    Case 条件3
        処理3
    Case Else
        デフォルトの処理
End Select

Select Case文は同様の機能を持つIf Else文より箇条書き風でわかりやすいです。

 

上記の例は、条件判断の対象が文字でした。エクセルですから、数値を条件判断の対象として”100以上ならこうする”、”50未満ならこうする”としたいことがあるでしょう。

たとえば、セルA1の値が「0~40」ならセルB1の値が”不可”、「41~60」なら”可”、「61~90」なら”良”、「91~100」なら”優”、それ以外の値なら”得点を入力して下さい”とするにはどうすれば良いでしょうか。

 

 

 


 

最終更新:2010年09月04日 21:17
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。