У меня есть различные даты (тип строки) в формате дд / мм / гггг чччмм: дд / мм / гггг чччмм Мне нужно было преобразовать их в фактическую дату типа в формате дд / мм / ггггчч: мм: дд / мм / гггг чч: мм
Моя проблема заключалась в том, что когда я выполнял команду замены вручную, все работало нормально, но если я реализовал команду замены в макросе, он внезапно изменился с дд / мм / гг чччмм на мм / дд / гггг чч: мм, что означало, что все мои данные были неверными.
Я решил проблему с помощью для цикла и функции разделения , и собираюсь поставить решение здесь, так что, возможно, кто-то другой с такой же проблемой может получить его какспасибо за каждый раз, когда я получал помощь здесь:
lastRowRan = Cells(Rows.Count, "B").End(xlUp).Row
For Each cell In Range("I2:I" & lastRowRan)
dateArray = Split(cell)
dateArray(1) = Replace(dateArray(1), "H", ":")
cell.Value = CDate(Format(CDate(dateArray(0) & " " & dateArray(1)), "dd/mm/yyyy hh:mm"))
Next
Но очевидно, поскольку таких дат тысячи, иногда это может занять некоторое время.Так что мне было интересно, есть ли более быстрый способ?
.NumberFormat, похоже, не работает.