Just nu i M3-nätverket
Jump to content

Kombinera "Or" och "And" i "If-satser"


Tommy H

Recommended Posts

Hej !

Hur bygger amn upp ett villkor med både "or" och "and" liknande nedan?

   If .Offset(0, -2) = "2" Or .Offset(1, -2) ="3" And .Offset(0, -2) = "3" Then

 

Excel accepterar att skriva så, men det verkar inte som "And"-vilkoret läses på rätt sätt.

Jag vill alltså se det är en 2:a eller en 3:a i resp. celler, samtidigt som det skall vara en 3:a i sista cellen.

 

???

 

//TH

 

//Redigerat av moderator, snyggade bara till lite//

 

samt flyttar denna tråd till VBA (från Excel)

 

[inlägget ändrat 2008-01-28 08:38:58 av Monshi]

Link to comment
Share on other sites

Du måste använda parenteser kring de logiska uttrycken för att få rätt betydelse ur dem. Jämför följande uttryck:

 

A AND (B OR C)

(A AND B) OR C

 

Utelämnar man parenteser i ovanstående (dvs. A AND B OR C ) kommer detta att tolkas som (A AND B) OR C eftersom AND har högre presedens än OR. Därför måste parenteser användas för att påverka grundpresedensen.

 

Jag gissar att det du är ute efter är

If (.Offset(0, -2) = "2" Or .Offset(1, -2) ="3") And .Offset(0, -2) = "3" Then

Detta känns dock inte speciellt genomtänkt eftersom du inte samtidigt kan ha en 2 och en 3 i Offset(0,-2)

 

Link to comment
Share on other sites

Så det var så enkelt...

betr. olika värden i Offset(0,-2), så var det bara ett exempel. Jag lyckades kopiera över samma värden....

 

Tackar för hjälpen!

 

//TH

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...