选择Case Not Or

tom*_*_uk 5 excel vba excel-vba select-case

我希望只用一个案例来执行一个选择案例 - 案例不等于"P","Ev"或"Af".

这就是我到目前为止所拥有的.

Select Case Range("my_range").Offset(0, column_offset).Value
    Case Not "P", "Ev", "Af"
        'my code
 End Select
Run Code Online (Sandbox Code Playgroud)

该案例可以等于50个不同的值,我希望'my code对所有这些值执行相同的操作(下),除非结果是P,Ev或Af.

我也试着Not "P", Not "Ev", Not "Af"用替换一起,使用Or,但无济于事.

每次响应都是:

运行时错误'13':类型不匹配.

我知道我可以用if语句替换它......

If Range("my_range").Offset(0, column_offset).Value <> "P" And Range("my_range").Offset(0, column_offset).Value <> "Ev" And Range("my_range").Offset(0, column_offset).Value <> "Af" Then
    'my code
End if
Run Code Online (Sandbox Code Playgroud)

但如果可以的话,我更愿意使用Select Case选项.

有人想过吗?

非常感谢

编辑

我还应该说我确实尝试过使用过

Select Case Range("my_range").Offset(0, column_offset).Value
    Case "P", "Ev", "Af"
        Exit Select
    Case Else
        'my code
End Select
Run Code Online (Sandbox Code Playgroud)

但错误信息:

编译错误:预期:Do或For或Sub或Function或Property

不断涌现.

Bat*_*eba 15

你不能Not以这种方式使用.但你可以重构

Select Case Range("my_range").Offset(0, column_offset).Value
    Case "P", "Ev", "Af"
        'ignore this
    Case Else
        'my code
 End Select
Run Code Online (Sandbox Code Playgroud)