long IF statement with lots of OR's

  • Thread starter Thread starter René
  • Start date Start date
R

René

Hi

Is there a smarter way to write this kind of code ?

If InputParameter1 = "A" And (InputParameter2 = "X" Or InputParameter2 = "Y" Or
InputParameter2 = "Z" and so on) Then
[...]

My intuition would go for something like this:
If InputParameter1 = "A" And InputParameter2 In ("X", "Y", "Z", and so on)

but that doesn't seem to be correct.

Any ideas ?


René
 
Can you be sure InputParameter2 will be one character. If so then

if inputparameter1 = "A" and Instr("XYZ",Inputparameter2) then


if it is more complex than that

Dim res as Variant
res = Application.Match(InputParameter2,Array("XXX","YYY","ZZZ"),0)
if inputparameter1 = "A" and not iserror(res) then

Regards,
Tom Ogilvy
 
You could put your parameters in a certain cell and reference that, as
you suggested. For instance:

=IF(AND(A1="xyz", ISERROR(FIND(<the reference to your input parameter>,
<the reference to your list of acceptable values>))=FALSE)=TRUE, 1, 0)

Please let me know if that doesn't work.

Mark
 
Back
Top