I'm looking to carry out a Select Case with just one case - where the case is not equal to "P", "Ev" or "Af".
This is what I have so far.
Select Case Range("my_range").Offset(0, column_offset).Value
Case Not "P", "Ev", "Af"
'my code
End Select
The case could equal 50 different values and I want the same action (under 'my code) to be performed for all of them unless the result is P, Ev or Af.
I've also tried Not "P", Not "Ev", Not "Af" along with replacing , with Or but to no avail.
The response each and every time is:
Run-time error '13': Type mismatch.
I know I could replace this with an if statement along the lines of...
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
but I'd prefer to use the Select Case option if I can.
Any thoughts anyone?
Many thanks
EDIT
I should also say I did try using
Select Case Range("my_range").Offset(0, column_offset).Value
Case "P", "Ev", "Af"
Exit Select
Case Else
'my code
End Select
but the error message:
Compile error: Expected: Do or For or Sub or Function or Property
kept popping up.
You cannot use Not in this way. But you can refactor to
Select Case Range("my_range").Offset(0, column_offset).Value
Case "P", "Ev", "Af"
'ignore this
Case Else
'my code
End Select
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With