Преобразование Excel INDEX, MATCH, VBLOOKUP в VBA - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть следующая формула Excel

{=INDEX(config!H2:H20,
MATCH(1,
(F2=config!F2:F20)*(VLOOKUP(D2,config!C2:D20,2,FALSE)=config!G2:G20),0))}

В VBA как написать что-то с несколькими условиями?это возможно с помощью VBA?

1 Ответ

3 голосов
/ 16 апреля 2019

Вы можете сделать что-то вроде этого:

Const FRM = "INDEX(config!H2:H20,MATCH(1,(F<#>=config!F2:F20)*" & _
            "(VLOOKUP(D<#>,config!C2:D20,2,FALSE)=config!G2:G20),0))"

Dim res, sht as WorkSheet, rw as Long

Set sht = activesheet
rw = 2

res = sht.Evaluate(Replace(FRM, "<#>", rw)) 'use Evaluate in the context of the correct sheet
                                            '   (parent of D2, F2 in this case)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...