在VBA Excel中,如果条件中带有“和”,则组合“多个或

mitkmikd  于 2023-03-24  发布在  其他
关注(0)|答案(2)|浏览(148)

我一直在做宏vba的验证。。
vba中如何将if条件中的“and”与“multiple or”组合?
下面是我的代码:

If (not cook = True) And (if (exp_gas > 0) or (exp_woodburn > 0) or _
    (exp_oil > 0) or (margarine > 0)) Then
    MsgBox "He doesn't cook", vbInformation 

End If

它给了我语法错误。

jv4diomz

jv4diomz1#

你不能在另一个If语句中使用条件中的If语句。一个解决方案是使用嵌套的If,更多信息请查看here。另一个解决方案是在条件中删除If,所以你的代码看起来像这样(我认为这正是你需要的):

If (not cook = True) And ((exp_gas > 0) or (exp_woodburn > 0) or _
    (exp_oil > 0) or (margarine > 0)) Then
    MsgBox "He doesn't cook", vbInformation 

End If
5sxhfpxr

5sxhfpxr2#

编译器不能理解这些条件.我们需要分割这些条件并显示所需的.请为此使用多个if语句

If (not cook = True) And (if (exp_gas > 0)  Then
     
MsgBox "He doesn't cook", vb Information 

End If

If((exp_woodburn > 0) or _(exp_oil > 0)) then
    
MsgBox "He doesn't cook", vbInformation 

End if

相关问题