samedi 6 novembre 2021

VBA syntax- Vlookup with IF statement

I have two vba query syntax,

SYNTAX 1

activeRange.Value = "=VLOOKUP(IFNA(IFNA(IFNA(IFNA(VLOOKUP(LEFT(RC[-1],6),'List Sheet'!R2C1:R18C2,2,FALSE),VLOOKUP(RIGHT(RC[-1],5),'List Sheet'!R2C1:R18C2,2,FALSE)),VLOOKUP(RIGHT(RC[-1],2),'List Sheet'!R2C1:R18C2,2,FALSE)),IF(OR(LEFT(RC[-1],2)=""EZ"",LEFT(RC[-1],3)=""STO""),""STORE - ORDER"",NA())),IFNA(VLOOKUP(RIGHT(RC[-1],6),'List Sheet'!R2C1:R18C2,2,FALSE),IFNA(VLOOKUP(LEFT(RC[-1],3)," & _
    "'List Sheet'!R2C1:R18C2,2,FALSE),""CUSTOMER ORDER""))),'List Sheet'!R2C8:R16C9,2,FALSE)" & _
    ""

Syntax 2 (Please note the formula is in a single line in vba, its not in multiple lines as represented here)

activeRange.Value = "=VLOOKUP(IFNA(IFNA(IFNA(IFNA(VLOOKUP(LEFT(RC[-1],6),'List Sheet'!R2C1:R18C2,2,FALSE),VLOOKUP(RIGHT(RC[-1],5),'List Sheet'!R2C1:R18C2,2,FALSE)),VLOOKUP(RIGHT(RC[-1],2),'List Sheet'!R2C1:R18C2,2,FALSE)),IF(OR(LEFT(RC[-1],2)=""EZ"",LEFT(RC[-1],3)=""STO""),""STORE - ORDER"",NA())),IFNA(VLOOKUP(RIGHT(RC[-1],6),'List Sheet'!R2C1:R18C2,2,FALSE),IFNA(VLOOKUP(LEFT(RC[-1],3),
    "'List Sheet'!R2C1:R18C2,2,FALSE),""CUSTOMER ORDER""))),'List Sheet'!R2C8:R16C9,2,FALSE)"""

Both the code is the same, but vba accepts the first, the second always gives error error being "Application defined or Object defined error"

How did I get syntax 1? -> I recorded it using macro

How did I get syntax 2? -> I tried writing that on my own.

Why is the mistake happening?? please help me understand

Aucun commentaire:

Enregistrer un commentaire