【发布时间】:2018-04-06 02:56:01
【问题描述】:
我的延迟代码总是 3 位数。两个字母一个破折号 (-) 和一个数字。我正在尝试使用单行代码来检测 MT 或 DA,实际的分类号无关紧要,因此我希望消息框仅在两个字母上触发。
代码看起来正确,但它没有按应有的方式触发。如果我拿出通配符,它会起作用。我认为我的连接有问题,但我不确定。我尝试在它周围加上 () 括号,但这无济于事。
此外,我尝试使用 or 语句来捕获另一侧的 MT 代码,但除了类型不匹配的错误代码之外什么也没有。有什么想法吗?
If Range("L24").Value = "DA" & "*" Then
MsgBox "The flight had a Maintenance delay"
Else
End If
【问题讨论】:
-
要使用通配符,请使用
Like而不是= -
后测中的“=”运算符相等,即如果单元格值(例如“DAxyz”)完全等于“DA*”的连接值,包括一个星号字符。条件
If Range("L24").Value Like "DA" & "*" Then中的Like运算符(正如@chrisneilsen 提到的那样)允许在“DA”模式中将星号实际用作通配符“”。
标签: excel string-concatenation vba