Nested AND OR expressions

  • Thread starter Thread starter Colin Hayes
  • Start date Start date
C

Colin Hayes

HI

I need to express something in VBA , and am having trouble with it.

I need to say this :

IF E1 CONTAINS "1bx" OR "2bx" OR "3bx" AND J1 =11 THEN PUT 1 , OTHERWISE
PUT J1

Can someone assist with some code to make this happen , please?

Grateful for any help.



Best Wishes
 
With worksheets("Someworksheetnamehere")
if .range("J11").value = 11 _
and (lcase(.range("e1").value) = "1bx" _
or lcase(.range("e1").value) = "2bx" _
or lcase(.range("e1").value) = "3bx") then
.range("iv99").value = 1
else
.range("iv99").value = .range("j1").value
end if
end with

I "put" the value in IV99, I'm not sure where you wanted it.
 
Try:
------------------
Sub Test()
If [J1] = 11 And [E1] = "1bx" Or [E1] = "2bx" Or [E1] = "3bx" Then
Result = 1
Else
Result = [J1]
End If
End Sub
 
Or maybe this:
---------------------
Sub Test()
If [J1] = 11 Then
If [E1] = "1bx" Or [E1] = "2bx" Or [E1] = "3bx" Then
Result = 1
Else
Result = [J1]
End If
End If
End Sub
 
Dave Peterson said:
With worksheets("Someworksheetnamehere")
if .range("J11").value = 11 _
and (lcase(.range("e1").value) = "1bx" _
or lcase(.range("e1").value) = "2bx" _
or lcase(.range("e1").value) = "3bx") then
.range("iv99").value = 1
else
.range("iv99").value = .range("j1").value
end if
end with

I "put" the value in IV99, I'm not sure where you wanted it.
Hi Dave

OK Thanks for that.

An extra query - how would this be expressed as a formula in a helper
column?

I assume then also I could drag it down to apply to other rows too.

The reason I'm asking is that I may need to use it that way after all.

Thanks again for your help.



Best Wishes
 
It must be the fatigue:
---------------------
Sub Test()
If [J1] = 11 And ([E1] = "1bx" Or [E1] = "2bx" Or [E1] = "3bx") Then
Result = 1
Else
Result = [J1]
End If
End Sub
 
HI

I need to express something in VBA , and am having trouble with it.

I need to say this :

IF E1 CONTAINS "1bx" OR "2bx" OR "3bx" AND J1 =11 THEN PUT 1 , OTHERWISE
PUT J1

Can someone assist with some code to make this happen , please?

Grateful for any help.

The most straightforward way, I think, is

=IF( AND( OR(E1="1bx",E1="2bx","E1="3bx"), J1=11), 1, J1)
 
Back
Top