Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Как однозначно получить день из даты?

Автор Николай Николаевич, 28.05.2013, 13:52

« назад - далее »

Николай Николаевич

Здравствуйте.

Excel 2010 сейчас дает следующий результат:

Day(22.01.2013) -> 22
Day(22.01.1900) -> 21 

Подскажите, как поступать для определения дня из даты 1900 года?



NULL

Serge 007

Цитата: Николай Николаевич от 28.05.2013, 13:52Excel 2010 сейчас дает следующий результат:
Day(22.01.1900) -> 21
Ничего подобного. См. вложение
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Pelena

У меня и там, и там 22 получается (тоже 2010)

Николай Николаевич

Serge 007,

Я у Вас в файле увидел только употребление функции ДЕНЬ().
Я же говорил про Day() в макросе.
NULL

Serge 007

Цитата: Николай Николаевич от 28.05.2013, 15:24
Я же говорил про Day() в макросе.
Николай Николаевич, ГДЕ Вы говорили что вопрос не про Excel, а про VBA?!
В топике было про Excel:
Цитата: Николай Николаевич от 28.05.2013, 13:52Excel 2010 сейчас дает следующий результат:
Day(22.01.1900) -> 21

По теме: VBA использует тип Date для хранения дат и времени. При работе с этим типом данных следует иметь ввиду, что VBA-типы Date не являются такими же типами, как в рабочих листах Excel, хотя во многом и схожи с ними. Например, базовой датой для VBA-типа Date является 30 декабря 1899 года, а в Excel — 1 января 1900 года. Кроме того, в Excel существует ошибочная дата 29.02.1900. В VBA её нет
Во вложении меняйте даты в А1 и жмите на кнопку
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Николай Николаевич

Serge 007,

простите, я по наивности считал, что если функция на русском, то это функция листа Excel, а если на английском, то из макросов Excel. Был не прав. Приношу извинения.

Спасибо за ответ.
Теперь везде в макросах Excel буду сверять Даты с шестьюдесятью. 


PS. Программистов Микрософт не ругаю, хотя и очень хочу.
NULL

MCH

Цитата: Николай Николаевич от 28.05.2013, 20:02
PS. Программистов Микрософт не ругаю, хотя и очень хочу.
29 февраля 1900 года это "заслуга" не программистов из MS
http://local.joelonsoftware.com/mediawiki/index.php/Моя_первая_проверка_Билла_Г