Мы пытаемся создать макрос, который принимает значение из столбца (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
Спасибо