Я написал макрос VBA в Access, который создает новый файл Excel на основе нескольких разных. Я не могу изменить способ форматирования данных в исходных файлах, и я хочу написать простую инструкцию IF (если дата X больше даты Y, удалить всю строку). Проблема в том, что даты имеют другой формат. Я могу сделать это, создав новый столбец:
=IF(DATEVALUE(A2)>DATEVALUE(H2),TRUE,FALSE)
А затем перейдите от этого и в конце удалите столбец. Это не кажется правильным, хотя, и я считаю, что есть лучшее решение. Я пытался сделать что-то вроде
If ifDelete = vbYes And .Cells(Lrow, 19).Value Like "*timing*" And DateValue(.Cells(Lrow, 1).Value) > DateValue(.Cells(Lrow, 8).Value) Then
.Cells(Lrow, 19).EntireRow.Delete
End If
Но это, очевидно, не работает. Я также пытался работать с форматированием столбцов даты до запуска этого оператора IF, но все же не повезло. Если это помогает, даты форматируются в формате ММ / ДД / ГГГГ и М / Д / ГГГГ. По какой-то причине переход к .NumberFormat = "MM / DD / YYYY" во 2-м или обоих полях тоже не работает.
С уважением,
heaton124.