[[20220702122213]] 『IFを使った複数条件の考え方』(ユン) ページの最後に飛ぶ

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

 

『IFを使った複数条件の考え方』(ユン)

初めまして。
VBAの勉強をしていて、IFの複数条件について理解できず質問しております。
参考れいを見ている中で

(例)
Sub Lesson1()

    If Range("A1") >= 0 Then
        If Range("A1") < 10 Then
            MsgBox"0〜10未満です"
        Else
            MsgBox "10以上です"
        End If
    Else
        MsgBox "0未満です"
    End If
End Sub
ーーーーー

上記の場合
Sub Lesson1()

    If Range("A1") >= 0 Then
        If Range("A1") < 10 Then
            MsgBox"0〜10未満です"
        Else
            MsgBox "10以上です"  ←★ここが理解できません
     〜

1回目の結果は理解できるのですが、2回目はElseなのですから
【0〜10以外】になるのではないでしょうか?
でもそうするとなんだかおかしくなってしまう、というのも理解できるのですが…
IF複数条件付で検索してもよく理解できなかったため質問させてください。

< 使用 Excel:Office365、使用 OS:Windows10 >


・0以上で、
かつ
・10未満ではない、
ということなので、つまるところ、「10以上」ということになります。
(γ) 2022/07/02(土) 12:41

rさんありがとうございます。

複数の場合は、【If Range("A1") >= 0 Then】が生きて
If Range("A1") >= 0 Then
If Range("A1") < 10 Then  ←★ここがElseになる

という理解で間違ってないでしょうか?
(ユン) 2022/07/02(土) 12:48


理解できました!

Sub Lesson1()

    If Range("A1") >= 0 Then
        If Range("A1") < 10 Then
            MsgBox"0〜10未満です" 
        Else
            MsgBox "10以上です"  ←★【If Range("A1") < 10 Then 】に対するelse
        End If  ←★ 【If Range("A1") < 10 Then】 に対するend if
    Else
        MsgBox "0未満です"  ←★残った【 If Range("A1") >= 0 Then】に対するelse
    End If  ←★【 If Range("A1") >= 0 Then】のend if
End Sub

という事ですね!
すみません、ありがとうございました。
(ユン) 2022/07/02(土) 13:03


 If Range("A1").Value >= 10 Then
    MsgBox "10以上です"
 ElseIf Range("A1").Value >= 0 Then
    MsgBox "0以上、10未満です"
 Else
    MsgBox "0未満です"
 End If
(こうする) 2022/07/02(土) 19:38

 If Range("A1").Value < 0 Then
   MsgBox "0未満です"
 ElseIf Range("A1").Value < 10 Then
   MsgBox "0以上、10未満です"
 Else
   MsgBox "10以上です"
 End If
(こうする) 2022/07/02(土) 19:43

コメント返信:

[ 一覧(最新更新順) ]


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