Создайте строку, используя функцию даты, с предшествующим нулем в поле дня и месяца

Создайте строку, используя функцию даты, с предшествующим нулем в поле дня и месяца

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

Однако в настоящее время я могу отобразить только дату 13.4.2018.

Как добавить ноль перед днями и месяцами, состоящими из одной цифры?

На данный момент мне предстоит:

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

решение1

Для форматирования даты (или любого другого значения) в 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

решение2

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

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

Связанный контент