如果/或公式没有给出正确的True或False陈述
我有一个If公式作为我的macros代码的一部分,似乎没有以正确的方式工作。
下面的代码计算rCell.Offset并始终将其应用为True,我已经有例子,它等于112,113,118等,它是填充所需的单元格作为选项2。
If rCell.Offset(0, -2).Value = "101" Or "102" Then rCell.Value = "Option 2" Else rCell.Value = "Option 1" End If
我错过了什么吗?
我要走出去,说rCell.Offset(0,-2)中的数字是实际的数字,而不是文字,看起来像一个数字。 请记住101 <> "101"
以便删除引号以及更正Or语法。
If rCell.Offset(0, -2).Value2 = 101 Or rCell.Offset(0, -2).Value2 = 102 Then rCell.Value = "Option 2" Else rCell.Value = "Option 1" End If
另一个选项是Select Case语句 。
Select Case rCell.Offset(0, -2).Value2 Case 101, 102 rCell.Value = "Option 2" Case 112, 113 'do something for these Case 118 'do something for this Case Else 'when nothing else matches rCell.Value = "Option 1" End Select
当有几个条件需要检查时,这种风险评估的好处就会很快显现出来。
是。 尝试这个
If rCell.Offset(0, -2).Value = "101" Or rCell.Offset(0, -2).Value = "102" Then
编辑:本质上你的代码是问
If "102"
这将永远返回true。