我希望只用一个案例来执行一个案例 - 案例不等于“P”,“Ev”或“Af”。
这是我到目前为止所做的。
Select Case Range("my_range").Offset(0, column_offset).Value
Case Not "P", "Ev", "Af"
'my code
End Select
该案例可以等于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
但如果可以,我更愿意使用Select Case选项。
有人想过吗?
非常感谢
修改
我还应该说我确实尝试过使用
Select Case Range("my_range").Offset(0, column_offset).Value
Case "P", "Ev", "Af"
Exit Select
Case Else
'my code
End Select
但错误信息:
编译错误:预期:Do或For或Sub或Function或Property
不断涌现。
答案 0 :(得分:15)
您不能以这种方式使用Not
。但你可以重构
Select Case Range("my_range").Offset(0, column_offset).Value
Case "P", "Ev", "Af"
'ignore this
Case Else
'my code
End Select
答案 1 :(得分:1)
我知道很久以前就问过这个问题,但是今天我偶然发现了一个完全相同的奇迹:-您能否将Select Case Statment与Not
运算符一起使用?
我也没有发现可以使用Not
,但是可以使用此方法:
Select Case [variable]
Case is <> [condition 1]
'my code
End Select