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
如果没有 - 那么你如何重组以上内容?
答案 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