Я пытался выяснить, как сравнивать даты по годам в двух разных столбцах одной и той же таблицы.Столбцы 'S' и 'U' имеют даты в формате - мм / дд / гггг.Вероятно, проблема, возможно, заключается только в назначении даты переменным «date1» и «date2», но в коде может быть больше проблем.
Function Condition()
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("RELIEF VALVE MASTER SPREADSHEET.xlsx")
Set ws1 = wbk.Worksheets("Valve List")
lastrow = ws1.range("S" & Rows.Count).End(xlUp).Row
For j = 2 To lastrow
date1 = ws1.Cells(j, 18).Value
date2 = ws1.Cells(j, 20).Value
If Year(date1) = Year(Date) - 1 Or Year(date2) <> Year(Date) - 1 Then
Application.Workbooks("MaxiTrak RV Service Report - Blank.xlsm").Activate
ActiveWorkbook.Sheets("ML_PSV_SERVICE").Select
Cells(j, 7).Value = "Routine"
Else
ws1.Cells(j, 7) = ""
End If
Next j
End Function
Основная идея этого кода состоит в том, чтобы проверить, имеют ли ячейки в одной строке пример: (S2 и U2) один и тот же год или нет.Если они в том же году, то есть (2018), вставьте текст «Обычный» в другую открытую рабочую книгу по столбцу № 7 в той же строке.Спасибо за помощь заранее.
Ошибка -> Несоответствие типов на date1 = ws1.Cells(j, 18).Value
Доказательство того, что это формат даты