VBA lookup выводит несовместимые типы - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь сделать обратный vlookup, снизу вверх, используя поиск, он прекрасно работает на вкладке Excel, но у меня есть несколько проблем при переводе его на VBA.

Формула Excel:=LOOKUP(2;1/(Table1[Code]=L4);Table1[Key])

VB:

Set sht2 = Worksheets("Base")
Set sht3 = Worksheets("Extra")

rng1 = sht2.ListObjects("Table1").ListColumns(1).DataBodyRange.Value
rng2 = sht2.ListObjects("Table1").ListColumns(2).DataBodyRange.Value
cll = sht3.Cells(2, 12)

rw = Application.WorksheetFunction.Lookup(2, 1 / (rng1 = cll), rng2)
sht3.Cells(2,13) = rw

Любые советы?

1 Ответ

0 голосов
/ 13 ноября 2018

Если вы хотите использовать Find вместо поиска, вы можете сделать это следующим образом:

Sub Find_from_bottom()

Dim Rowaddress As Long
Dim sht2 As Worksheet
Dim sht3 As Worksheet

Set sht2 = Worksheets("Base")
Set sht3 = Worksheets("Extra")

Rowaddress = Range("A:A").Find(sht3.Cells(2, 12).Value, Range("A1"), SearchDirection:=xlPrevious).Row
sht3.Cells(2, 13) = sht2.Cells(Rowaddress, 2)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...