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)