Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


461 / 13645 ツリー ←次へ | 前へ→

【80235】IF文で複数条件を指定する方法 ABCD 18/11/9(金) 12:49 質問[未読]
【80236】Re:IF文で複数条件を指定する方法 よろずや 18/11/9(金) 13:57 回答[未読]
【80237】Re:IF文で複数条件を指定する方法 ABCD 18/11/9(金) 15:15 お礼[未読]

【80235】IF文で複数条件を指定する方法
質問  ABCD  - 18/11/9(金) 12:49 -

引用なし
パスワード
   例)
  A | B | C |
1| ● | aa | 1. |
|  |  |  |
2| ● | bb | 1. |
|  |  |  |
3| ■ | aa | 2. |
|  |  |  |
4| ■ | bb | 2. |


上記のようなデータがあるとして、C列に結果を入力していく処理を行いたいです。
条件、処理結果は以下の2パターンとします。
---
・A列が"●"且つB列が"aa"または"bb"であればC列に"1."
・A列が"■"且つB列が"aa"または"bb"であればC列に"2."

---

そのため、以下のようにコードを書きましたが上手くいきません。
=================================================

 If Range("A" & i).Value = "●" And _
   Range("B" & i).Value = "aa" Or _
   Range("B" & i).Value = "bb" Then
            
   Range("C" & i).Value = "1."
      
 ElseIf Range("A" & i).Value = "■" And _
   Range("B" & i).Value = "aa" Or _
   Range("B" & i).Value = "bb" Then
            
   Range("C" & i).Value = "2."
 
 End If
=================================================
これを実行すると2つめの処理が上手く動作せず、結果が全て"1."となります。
原因について、どなたか教えてくださいますと幸いです。

【80236】Re:IF文で複数条件を指定する方法
回答  よろずや  - 18/11/9(金) 13:57 -

引用なし
パスワード
   ▼ABCD さん:
>=================================================
>
> If Range("A" & i).Value = "●" And _
  ( Range("B" & i).Value = "aa" Or _
   Range("B" & i).Value = "bb" ) Then
>            
>   Range("C" & i).Value = "1."
>      
> ElseIf Range("A" & i).Value = "■" And _
    ( Range("B" & i).Value = "aa" Or _
     Range("B" & i).Value = "bb" ) Then
>            
>   Range("C" & i).Value = "2."
> 
> End If
>=================================================

演算子の優先順位を変更するには、
カッコを書く必要があります。

【80237】Re:IF文で複数条件を指定する方法
お礼  ABCD  - 18/11/9(金) 15:15 -

引用なし
パスワード
   ▼よろずや さん:

試したところ、想定通りの結果となりました。

初歩的な質問にもかかわらず、
ご親切に回答くださいましてありがとうございました。

461 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free