Преобразование текста в дату в VBA приводит к значению времени - PullRequest
0 голосов
/ 03 мая 2018

Я заметил странное явление в 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 не должен его распознавать?

Столбец с датами был отформатирован как «По умолчанию».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...