- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】 IFの中にIF)
【VBA】 IFの中にIF
このQ&Aのポイント
- VBAの質問です。IFで条件分岐したあとの処理にさらにIFで分岐を加えたいのですが、どのような構文が適していますでしょうか。
- VBAでの条件分岐で、IFの中にさらにIFを加える場合、どのような構文が適しているのでしょうか。
- VBAで、IFの中にさらにIFを加える方法について教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> Cells(f, 18).Value = If Cells(f, 4).value = 1 Then Cells(f, 13) Else Cells(f, 14) Endif こういう場合は、三項演算子を利用します。 Cells(f, 18).Value = IIf(Cells(f, 4).value = 1, Cells(f, 13), Cells(f, 14)) 三項演算子を2つも3つも組み合わせて利用することも可能です。 ex) IIf(value = 1, "a", IIf(value = 2, "b", "c"))
その他の回答 (1)
- choco-ball
- ベストアンサー率49% (25/51)
回答No.1
「if」の中に「if」っていうのはよく使いますよ。 この場合には Sub Test() Dim f As Long Dim lRow As Long lRow = Cells(Rows.Count, 1).End(xlUp).Row For f = lRow To 2 Step -1 If Cells(f, 2).Value = "りんご" Then Cells(f, 2).EntireRow.Delete Else Cells(f, 2).Value = Cells(f, 2) & "0" & Cells(f, 3) If Cells(f, 4).value = 1 Then Cells(f, 18).Value = Cells(f, 13) Else Cells(f, 18).Value = Cells(f, 14) end if End If Next f End Sub が正しいですね!
質問者
お礼
こちらもできました! VBAは奥が深いですねぇ。 ご回答ありがとうございました!
お礼
できました!すばらしいです。 三項演算子、初めて聞く名前です。 これからも精進します。 ありがとうございました!