Excel 2007

Я хочу, чтобы макрос поместил сегодняшнюю дату в текущую ячейку в формате dd-mmm-yy, например, 30-октябрь-14.

Код у меня прост:

«ActiveCell.Значение = формат (сейчас (), "дд-ммм-гг")'

По некоторым причинам это возвращает "30 октября 14" с пробелами вместо дефисов.

Подобные форматы работают правильно. например

дд-мм-гг дает 30-10-14,
дд ~ ммм ~ гг дает 30 ~ 14 октября

Фактическое значение ячейки установлено на "10 30 2014"

Может кто-нибудь дать мне простой обходной путь и, если возможно, объяснить, почему это происходит?

1 ответ1

1

Excel автоматически преобразует текст, который вы вводите с помощью макроса, в дату (а затем применяет формат даты). Чтобы заставить Excel просматривать его как текст, добавьте одинарную кавычку к строке даты:

ActiveCell.Value = "'" + Format(Now(), "dd-mmm-yy")

В качестве альтернативы, сначала установите формат ячейки для типа текста:

ActiveCell.NumberFormat = "@"
ActiveCell.Value = Format(Now(), "dd-mmm-yy")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .