HOME >>Select Case(条件分岐処理)

今回はSelect Caseを説明します。

基本的な書き方は

Select Case 条件式 Or 値
  Case 値
   一致した時の処理内容
  Case 値
   一致した時の処理内容
  Case Else
   その他の処理
End Select


これはIF文と同じですが、条件が多い場合などに使うと便利です。

IF文だと条件が増える度にどんどん増えていくのが

Select Caseだと綺麗にまとまります。

例えば、セルに入力されている値が1〜4で

1なら1、2なら2と表示したい場合の処理を書いてみます。

IF文で書いた場合↓
Sub test2()
'変数宣言(変数名をiとkし、型をIntegerとする)
Dim i As Integer
Dim k As Integer

'変数にアクティブな行と列の値をいれる
i = ActiveCell.Row
k = ActiveCell.Column

'セルの値が1なら
If Cells(i, k).Value  = 1 Then
メッセージを表示
  MsgBox ("1です")
Elseif Cells(i, k).Value  = 2 Then  
  MsgBox ("2です")
Elseif Cells(i, k).Value  = 3 Then  
  MsgBox ("3です")
Elseif Cells(i, k).Value  = 4 Then  
  MsgBox ("4です")
End Select
End Sub

途中まで書きましたが、わかりにくいしめんどうじゃないですか?

こんな時にSelect Caseを使って書くと↓

Sub test2()
'変数宣言(変数名をiとkし、型をIntegerとする)
Dim i As Integer
Dim k As Integer

'変数にアクティブな行と列の値をいれる
i = ActiveCell.Row
k = ActiveCell.Column

'セルの値が1なら
Select Case Cells(i, k).Value
  Case 1  
  メッセージを表示
    MsgBox ("1です")
  Case 2
    MsgBox ("2です")
  Case 3
    MsgBox ("3です")
  Case 4
    MsgBox ("4です")
End Select

見やすくありませんか??

この様に条件が多い場合などに使うのが効果的です。


次は繰り返し処理を書いていきます。


      

アクセスカウンター

関連書籍

inserted by FC2 system