Я заметил странное явление в Excel сегодня. Мы тестировали новую надстройку на компьютере клиента (Windows 10, немецкий язык, Excel 2016). Надстройка VBA осуществляет поиск в первом столбце дат, отформатированных как «dd.mm.yy» (немецкий формат даты), а затем использует эти даты для чего-то другого после преобразования их в тип «Дата».
Dim targetDate as Date: targetDate = CDate(cellValue). 'cellValue is "05.04.18"
При проверке значения переменной оно отображалось как «05:04:18» (формат времени).
В итоге мы заменили "." с "-", чтобы сработала функция IsDate()
, затем отформатировали значение с Format(cellValue, "dd-mm-yy")
, чтобы оно заработало.
Но кто-нибудь знает, что мы в Excel не распознали значение даты как дату? Формат «mm.dd.yy» не был форматом «короткой даты» по умолчанию в соответствии с настройками Windows, но разве Excel не должен его распознавать?
Столбец с датами был отформатирован как «По умолчанию».