|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2010, 21:44 | #1 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
Конверсия даты в Excel и VBA
Конвертируя текстовый файл с датами начала прошлого века, наткнулся на милейший прикол:
Устанавливаем для ячейки A1 формат даты. Например : [A1].NumberFormat = "m/d/yyyy" Вводим на листе в эту ячейку, например, 37. "Умный" Excel при вводе (до события Worksheet_Change) конвертирует число 37 в дату 06.02.1900 Переходим в VBE и в окошке Immediate набираем ?[a1] Видим: 05.02.1900 И действительно: ?CDate(37) = 05.02.1900 ?Cdbl(#02/05.1900#) = 37 Но Excel считает по другому. Такая вот конверсия .... Разница возникает из за того что VBA полагает что первый день это 31.12.1899 Cdate(1) Соответственно 01.01.1900 это 2. А для EXCEL первый день это как раз 01.01.1900 Ещё более радостным всё становится если в Сервис->Параметры...->Вычисления поднят чекбокс "система дат 1904" Тогда 1 будет восприниматься EXCEL как 02.01.1904 Эксперимент показал, что CALC из OpenOffice.Org 3.1 при вводе в ячейку 1 конвертирует её в 31.12.1899. Так же не может не радовать что EXCEL считает 1900 год високосным. Последний раз редактировалось Aent; 12.02.2010 в 22:33. |
15.02.2010, 09:41 | #2 |
Форумчанин
Регистрация: 29.10.2008
Сообщений: 294
|
Спасибо за наблюдения! Возьму на заметку
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
VBA Word,VBA Excel решить 2 задачи | fafolo4ka | Фриланс | 6 | 05.03.2012 01:15 |
неверное преобразование даты при открытии DBF файла в MS Excel 2007 | Serge_Bliznykov | Microsoft Office Excel | 13 | 26.11.2009 09:37 |
Использование полной даты Autofilter в VBA | alpeen | Microsoft Office Excel | 2 | 27.05.2009 16:18 |
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 | kovalevskivf | Microsoft Office Excel | 2 | 15.05.2009 16:47 |
Как сделать отсчет дней от заданной даты в Excel? | ru16 | Microsoft Office Excel | 1 | 22.11.2007 11:13 |