Как извлечь значения из VLOOKUP через VBA в Excel? - PullRequest
0 голосов
/ 28 апреля 2019

На одном листе в Excel (называемом 19 марта) я хочу использовать КАЖДУЮ ячейку (из диапазона A5: A59) в качестве значения поиска для другого листа в Excel. Затем, когда это будет сделано, я хочу вставить или извлечь то, что было найдено на листе 19 марта (бок о бок с их значениями поиска).

Я изучил несколько решений в Интернете, но моя проблема в том, что я не могу написать код для вставки значений, найденных через vlookup? Посмотрите на последнюю строку перед End Sub.

Мои знания VBA довольно просты, и я все еще учусь через учебники :) Ваша помощь будет высоко оценена.

Sub CopyNumbers() 
    Dim account As Long, aop As Long 
    account = Worksheets("March 19").Range("A5:A59") 
    For each c1 in account 
    aop = Application.WorksheetFunction.Vlookup(c1,Worksheets("AOP").Range("A5:P39"),6,FALSE) 
    Worksheets("March 19").Range("D5:D59") = aop
End Sub

1 Ответ

0 голосов
/ 29 апреля 2019

Попробуйте что-то вроде этого

Sub CopyNumbers() 
    Dim c As Range, aop As Variant  
    For each c in Worksheets("March 19").Range("A5:A59").Cells
        'drop the Worksheetfunction and you won't get a run-time
        '  error if there's no match
        aop = Application.Vlookup(c, Worksheets("AOP").Range("A5:P39"),6,FALSE) 
        c.Offset(0, 3).Value = IIf(IsError(aop), "No Match", aop)
    Next c
End Sub
...