Функция форматирования vba с изменением даты - PullRequest
0 голосов
/ 31 марта 2009

Функция форматирования в vba меняет дату. например, для формата ("3/12/2009", "ДД / ММ / ГГГГ") функция возвращает 12/03/2009, где "3/12/2009" - это то, что Excel VBA читает из ячейки, которая имеет значение 12 -Мар-2009 и формат как "дд-ммм-гггг"

Ответы [ 2 ]

2 голосов
/ 31 марта 2009

Нет, это не так.

Если строка даты передана в функцию «Формат», она проанализирует ее с использованием текущих региональных настроек. Ваши настройки явно ММ / ДД / ГГГГ, которые по умолчанию для США. Ничто не мешает Excel отображать дату в формате ДД / ММ / ГГГГ, если она установлена ​​вручную, но по умолчанию будет отображаться ММ / ДД / ГГГГ.

To to: Прекратить чтение дат в виде строк. Прочитайте их как даты.

dim d as date
d = activecell.value
0 голосов
/ 18 января 2012

Несколько раз у меня возникали проблемы, когда VBA в Access считывает большинство дат как европейские, а некоторые как США:

Это НЕ работает должным образом:

myRs.FindFirst ("Date =#" & myDate & "#")

Это работает:

myRs.FindFirst ("Date =#" & Format(myDate, "Long Date") & "#")

Длинная дата (например, 01 января 2012 г.) четко определяет разницу между месяцем и днем ​​

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