IF语句中的"和"和"或"问题

Mik*_*ogg 17 excel vba excel-vba

我想在If语句中使用"And"和"Or".我的语法错了.

当数据真实时,结果会返回false.这是代码:

ElseIf (origNum = "006260006" Or origNum = "30062600006") And creditOrDebit = "D" Then

'do things here

End If
Run Code Online (Sandbox Code Playgroud)

- 当我调试并到达此行时,它会跳过它并且不会进入.

-origNum实际上等于"006260006"和creditOrDebit ="D".

- 所以我假设我的"或"声明不起作用.

- 这是一个快速简单的问题.谢谢!

ass*_*ias 21

问题可能在其他地方.试试这个代码,例如:

Sub test()

  origNum = "006260006"
  creditOrDebit = "D"

  If (origNum = "006260006" Or origNum = "30062600006") And creditOrDebit = "D" Then
    MsgBox "OK"
  End If

End Sub
Run Code Online (Sandbox Code Playgroud)

你会发现你的Or作品符合预期.你确定你的ElseIf语句是执行的(如果if/elseif之前的任何一个是真的,它将不被执行)?

  • 我发现了这个问题.**实际问题:** - 出于某种原因,在origNum获取数字的单元格中,一堆单元格在数字前面有空格,因此origNumb实际上包含"006260006"而不是"006260006" - 解决这个问题我对存储在变量中的任何数据都使用了Trim() (3认同)