VBA评估'IF'与'OR'返回错误的值

时间:2018-08-01 13:14:34

标签: arrays vba excel-vba excel-formula evaluate

我有这些专栏:

Columns

我正在尝试通过以下方式对其进行评估:

dim myArray as variant

myArray = filter(application.transpose(columnSheet.evaluate("IF(OR(D=""D1"",D=""D2""),S,false)")),false,false)

看到“ DISPENSER” 整个列名称等于“ D” ,并且“ SELLER” 整个列名称等于“ S” “ columnSheet” 是这些列应该位于的工作表对象的名称。

过滤器应用是由于提供了“ myArray”的真实结果。

问题是当我在函数中使用“或” 语句时,正在对其进行评估我得到了“卖方” 整个列< / em>作为结果。而且,如果您尝试直接在表单中应用相同的函数公式,则它会返回正确的结果。

Evaluate Function Formula Apply

1 个答案:

答案 0 :(得分:0)

我不知道OR的问题是什么,但是您可以重新调整IF以获得所需的结果:

myArray = Filter(Application.Transpose(Evaluate("IF(D=""D1"",S,if(D=""D2"",S,false))")), False, False)