Использование VLookup в Excel VBA для нескольких листов - PullRequest
0 голосов
/ 27 февраля 2020

Мы пытаемся создать макрос, который принимает значение из столбца (c) и ищет значение в отдельной рабочей книге, а затем извлекает два фрагмента информации из одной строки и двух отдельных столбцов. Остальная часть кода просто поворачивает слово красным или зеленым в зависимости от того, есть ли информация в столбце.

Используемая нами функция VLookup становится красной, когда мы вставляем ее в Excel VBA, что мы делаем не так, и есть простой способ исправить это. Код ниже,

Sub MMRFValidation()

Dim c As Range
Dim finder As Range

Application.ScreenUpdating = False

For Each c In Range("C:C")
    If c.Value = "" Then
        c.Offset(, -2).Font.Color = vbRed
        c.Offset(, 11).Value = "Need to contact vendor"
        c.Offset(, 12).Value = "Need to contact vendor"
    Else
        Set finder = Range("C:C").Find(what:=Workbook("U100 Material Information.xlsx").Worksheet("Sheet1").Range("A:A"), LookIn:=xlValues, LookAt:=xlWhole)

        leadtime = finder.Offset(, 13).Value
        price = finder.Offset(, 15).Value


        If price = "0.01" And leadtime = "21" Then
            c.Offset(, -2).Font.ColorIndex = 7
            c.Offset(, 11).Value = finder.Offset(, 13).Value
            c.Offset(, 11).Value = finder.Offset(, 15).Value
        Else
            c.Offset(, -2).Font.Color = vbGreen
            c.Offset(, 11).Value = finder.Offset(, 13).Value
            c.Offset(, 11).Value = finder.Offset(, 15).Value
        End If

    End If
Next c
Application.ScreenUpdating = True
End Sub

Спасибо

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