Не могу сделать VBA для поиска - PullRequest
0 голосов
/ 25 октября 2019

Нужна помощь, чтобы VBA кодировал vlookup, пытаясь получить имя торгового представителя из ячейки номера учетной записи клиента, которая находится под текстом «номер счета».

Требуется VLOOKUP на другом листе, чтобы вернуть имя KAM в "A2" на основе номера учетной записи клиента "B2".

Может кто-нибудь помочь с вызовом, пожалуйста? Спасибо заранее.

     "column A"         "column B"
ROW1   KAM          Customer account
ROW2                    10002
ROW3                    Date
ROW4                    13/02/2019
ROW5                    Currency
ROW6    
ROW7                    Customer account
                    10003
                    Date
                    29/08/2019
                    30/08/2019
                    12/09/2019
                    18/09/2019
                    25/09/2019
                    27/09/2019
                    Currency

Ответы [ 2 ]

0 голосов
/ 25 октября 2019

Ваш вопрос не очень понятен, но вместо использования VLOOKUP вы сможете получить результат, используя вместо этого INDEX и MATCH (без использования VBA). Попробуйте следующую формулу: INDEX(Sheet1!$A:$A,MATCH("Customer account",Sheet1!$B:$B,0)). Это вернет «KAM» в ячейку, в которую вы вводите формулу.

ОБНОВЛЕНИЕ:

После ваших комментариев ниже будет воспроизведено то, что вы пытаетесь сделать:

Dim OutputRange As Range
Set OutputRange = Sheets("RAW DATA FILE").Range("A1:A50000")
OutputRange.FormulaR1C1 = "=IFERROR(IF(ISNUMBER(C2),INDEX(Sheet2!C,MATCH(Sheet1!C[1],Sheet2!C[2],0)),""""),"""")"
0 голосов
/ 25 октября 2019

Вы можете использовать Find и Offset метод для поиска имени в этом типе данных. Ниже приведен пример кода для вашей справки:

Dim Rng As Range
Set Rng = Range("B:B").Find("10002")
If Not Rng Is Nothing Then
MsgBox Rng.Offset(-1, -1)
End If
...