Как я могу отформатировать месяц в формате ммм? - PullRequest
8 голосов
/ 21 февраля 2012

Я пытаюсь отформатировать дату в Excel с VBA, текущий месяц в формате ммм . Каким-то образом я получаю предыдущий месяц, а не текущий месяц. Я проверил, и мой компьютерный месяц - февраль, но вместо этого я получаю Ян.

Это мой код:

Cells(1, 2) = Format(month(Date), "mmm")

Ответы [ 2 ]

18 голосов
/ 21 февраля 2012

Просто отформатируйте существующую дату напрямую, т.е.

Cells(1, 2) = Format(Date, "mmm")
13 голосов
/ 21 февраля 2012

Вы форматируете дату 1/1/1900

Позвольте мне объяснить:

  • Date стоит 21/02/2012
  • Month(Date) стоит 1
  • Format будет считать это датой, поэтому Месяц (Дата) будет 1/1/1900
  • Итак, Format(month(Date), "mmm") вернет Jan как месяц 1/1/1900

Чтобы научить вас ловить рыбу , когда вы сталкиваетесь с такой проблемой, вы можете попытаться найти значение каждого утверждения:

  • Debug.Print (Date) возвращает 21/02/2012, так что эта часть в порядке
  • Debug.Print (Format(Month(Date), "mmm")) возвращает jan, так что это не проблема отображения ячейки
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...