Я пытаюсь получить данные из трех столбцов в моей рабочей книге AK
, AL
и AM соответственно.После получения данных я делаю 3 различных сравнения, которые указаны в приведенном ниже коде.
Сначала я сравниваю дату в столбце AL
и столбце AM
.Я проверяю, имеет ли столбец AL
год 2018, а столбец AM
не год 2018. Если это правда, то в столбец L
будет вставлен текст, называемый «Обычный».Это делается ячейка за ячейкой с использованием цикла for, как видно из кода.
Затем выполняется проверка, имеет ли столбец AM
год 2018, а столбец AK
имеет цветовую кодировку Желтый .Если это правда, то текст будет вставлен в столбец L
с именем «Новый».
Наконец, есть проверка, если столбец AM
имеет год 2018 и столбец AK
не окрашен в желтый .Если это правда, тогда текст будет вставлен в столбец «L» с именем «Major»
Иначе. Ячейка останется пустой без каких-либо данных.
ПРОБЛЕМА: Код работает нормально инет проблем или ошибок.Но я не могу получить желаемый результат.Код не вставляет текст в столбец L
Dim j As Long
Dim lastrow As Long
Dim ws1 As Worksheet
Dim wbk As Workbook
Dim wb As Worksheet
Dim date1 As Date, date2 As Date
Set wbk = Application.Workbooks("MaxiTrak RV Service Report - Blank.xlsm")
Set ws1 = wbk.Worksheets("ML_PSV_SERVICE")
lastrow = ws1.range("AL" & Rows.Count).End(xlUp).Row
For j = 2 To lastrow
date1 = ws1.Cells(j, 38).Value
date2 = ws1.Cells(j, 39).Value
If Year(date1) = Year(Date) - 1 And Year(date2) <> Year(Date) - 1 Then
Cells(j, 12).Value = "Routine"
If Year(date2) = Year(Date) - 1 And Cells(j, 37).Interior.ColorIndex = 6 Then
Cells(j, 12).Value = "New"
If Year(date2) = Year(Date) - 1 And Cells(j, 37).Interior.ColorIndex <> 6 Then
Cells(j, 12).Value = "Major"
Else
Cells(j, 12).Value = ""
End If
End If
End If
Next j
Ожидаемый пример вывода