If (Months.Columns(1).Value = "Oct" or "Jan" or "Apr" or "Jul") Then ---- Type mismatch 我该如何解决?

0 excel vba

我正在尝试做

If (Months.Columns(1).Value = "Oct" Or "Jan" Or "Apr" Or "Jul") Then

Run Code Online (Sandbox Code Playgroud)

但存在类型不匹配。我究竟做错了什么?

bra*_*raX 5

这不是Or运营商的工作方式。每个项目必须有一个完整的布尔比较:

If Months.Cells(1, 1).Value = "Oct" Or Months.Cells(1, 1).Value = "Jan" Then
  ' Do something 
End If
Run Code Online (Sandbox Code Playgroud)

如果您想要简写,请改用 a Select Case

Select Case Months.Cells(1, 1).Value 
  Case "Oct", "Jan", "Apr", "Jul"
    ' Do something
  Case Else
    ' Do something else or do nothing
End Select
Run Code Online (Sandbox Code Playgroud)

将列引用更新为单元格引用。

另外,我假设这Months是一个工作表代码名称或其他一些工作表对象。