如果/或公式没有给出正确的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。