Я работаю аналитиком данных для запуска программного обеспечения, где мне нужно писать макросы для более эффективного анализа и сортировки данных. В настоящее время я работаю над макросом, который берет одну рабочую книгу со значением ("MMRF задания") и ищет ее в другой ("Информация о материале U100"). Мой код выглядит следующим образом:
Sub MMRFValidation()
Dim c As Range
Dim leadtime As Double
Dim price As Double
Application.ScreenUpdating = False
With Workbooks("Job MMRF.csv")
For Each c In Range("C:C")
If c.Value = "" Then
c.Offset(, -2).Font.Color = vbRed
c.Offset(, 9).Value = "Need to contact vendor"
c.Offset(, 10).Value = "Need to contact vendor"
Else
Dim a As Range
With Workbooks("U100 Material Information.xlsx")
For Each a In Range("A:A")
If a.Value = c.Value Then
price = a.Offset(, 15).Value
leadtime = a.Offset(, 13).Value
End If
Next a
End With
If price = 0.01 And leadtime = 21 Then
c.Offset(, -2).Font.ColorIndex = 7
c.Offset(, 9).Value = leadtime
c.Offset(, 10).Value = price
Else
c.Offset(, -2).Font.Color = vbGreen
c.Offset(, 9).Value = leadtime
c.Offset(, 10).Value = price
End If
End If
Next c
End With
Application.ScreenUpdating = True
End Sub
c - это значение из первой книги. Я пытаюсь найти c во второй книге. Если он найден, я хочу скопировать значения из 13-го и 15-го столбца в U100 wb (связанные со строкой, где была найдена c) и вставить эти значения в 9-ю и 10-ю строку в JobMMRF (связанной со строкой где c изначально был). Часть кода, которая меняет цвет шрифта, работает, а часть цены / времени выполнения - нет. Пожалуйста, помогите, спасибо.
редактировать: я обновил код. Теперь он получает значения цены и времени выполнения заказа, но по какой-то причине они всегда равны 0.
Пример данных