[[20160122102303]] 『Select case文で複数条件』(南橋) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Select case文で複数条件』(南橋)

For Each Rng In Selection

    If Cells(Row, "A").Value = 50 Then
        Select Case X
            Case 1 To 10
                処理1
            Case 1 To 50
                処理2
            Case 1 To 100
                処理3
        End Select
    End If
Next

Select文で、この文だと処理2と処理3に当てはまると思うんですが、
処理2を終えたらSelect文が終了してしまいます。
処理2を終えたら次の条件(処理3)も見てほしいんですが、どうすればいいですか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 Select Caseステートメントのヘルプに
 >引数 testexpression が複数の Case 節に一致するときは、最初に一致した Case 節に続くステートメントだけが実行されます。
 と書かれているので当然だと思うが。

 For Each rng In Selection

     If Cells(row, "A").Value = 50 Then
         If x >= 1 Then
             If x <= 10 Then
                 処理1
             End If
             If x <= 50 Then
                 処理2
             End If
             If x <= 100 Then
                 処理3
             End If
         End If
     End If
 Next

 あるいは
 For Each rng In Selection

     If Cells(row, "A").Value = 50 Then
         If x >= 1 Then
             If x <= 10 Then
                 処理1
                 If x <= 50 Then
                     処理2
                     If x <= 100 Then
                         処理3
                     End If
                 End If
             End If
         End If
     End If
 Next

 ではどうか?
(ねむねむ) 2016/01/22(金) 10:47


        Select Case X
            Case 1 To 10
                処理1
                処理2
                処理3
            Case 1 To 50
                処理2
                処理3
            Case 1 To 100
                処理3
        End Select

(mm) 2016/01/22(金) 11:04


完全にIF文と同じ扱いだと思ってました・・・ありがとうございました!
(南橋) 2016/01/22(金) 11:08

 If X >= 1 And X <=10 Then
    処理1
 ElseIf X >= 1 And X <= 50 then
    処理2
 ElseIf X >= 1 And X <= 100 Then
    処理3
 End If 
 と同じだと思うが。
(ねむねむ) 2016/01/22(金) 11:16

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.