Я пытаюсь создать дату в VBA. Я хочу, чтобы оно отображалось как 13.04.2018 для сегодняшней даты.

Тем не менее, в настоящее время я могу отображать только 13.4.2018

Как мне включить предыдущий ноль в днях и месяцах с одной цифрой?

В настоящее время я получил:

stDateDay = Day(Date)
stDateMonth = Month(Date)
stDateYear = Year(Date)
stDateFull = stDateDay & "." & stDateMonth & "." & stDateYear

2 ответа2

2

Чтобы отформатировать дату (или любое другое значение) в VBA, вы можете использовать функцию Format . Например:

strDateFull = Format(Date, "dd.mm.yyyy")

Второй параметр - это строка формата, которая может быть либо предопределенным именем формата (General Date , Long Date , Medium Date или Short Date), либо спецификатором формата, включающим такие символы, как dd , mm или yy .

Полный список символов см. В документации: https://msdn.microsoft.com/en-us/VBA/language-reference-vba/articles/format-function-visual-basic-for-applications

0

Вы можете просто попробовать это:

Range("A1").Value = Format(StDateFull, "dd.mm.yyyy")

Или вы можете также отформатировать ячейку или диапазон ячеек, прежде чем передать значение StDateFull ему / им, например:

Range("A1").NumberFormat = "dd.mm.yyyy"

Range("A:C").Select
Format$ ("dd.mm.yyyy")

Range("A1").value = stDateFull

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