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

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 

如果没有 – 那么你如何重组上述?

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

在伪代码中:

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

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

从你的示例代码看来,如果只有一个条件成立,你只是想要执行一些操作。 你根本不需要AND。

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

没有和要求。

你应该使用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