在IF语句的THEN分支中使用AND

时间:2014-02-20 08:47:19

标签: excel vba excel-vba

VBA是否允许在IF语句的THEN分支中使用AND语句?

If cel.Offset(0, 6).Value = "HardToken" Then wshT.Cells(r, 14).Value = "Physical" And wshT.Cells(r, 19).Value = cel.Offset(0, -2).Value

如果没有 - 那么你如何重组以上内容?

2 个答案:

答案 0 :(得分:2)

AND是一个布尔运算符,用于确定是否满足条件。它仅用于IF()语句的条件部分,并且在“Then”分支中永远不会在语句中添加更多命令。

在伪代码中:

If CellA1 equals "blue" AND CellB1 equals "green" then
   msgbox("A1 is blue")
   msgbox("B1 is green")
end if

您不能使用AND在代码中添加其他语句。你不需要。在上面的代码示例中,两个消息框将一个接一个地出现。但只有满足这两个条件。这两个条件与AND运算符连接,因此只有在BOTH条件为真时才会出现消息框。

从您的示例代码中,您似乎只想在单个条件为真时对多个操作进行线程化。你根本不需要AND。

If something = somethingElse then
   do this
   do that
   do the other
end if

不需要。

答案 1 :(得分:1)

您应该使用If..Then..EndIf

If cel.Offset(0, 6).Value = "HardToken" Then 
   wshT.Cells(r, 14).Value = "Physical"
   wshT.Cells(r, 19).Value = cel.Offset(0, -2).Value
End if