Vba: как получить месяц и год из даты


Вы можете использовать свойство NumberFormat в VBA, чтобы получить месяц и год из даты.

Вот распространенный способ использования этого свойства на практике:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

Этот конкретный макрос находит месяц и год для каждой даты в диапазоне A2:A11 и отображает эти значения в соответствующих ячейках диапазона C2:C11 .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: добавление дней к этому дню в VBA

Предположим, у нас есть следующий набор данных в Excel, который содержит информацию о продажах компании в разные даты:

Предположим, мы хотим получить месяц и год для каждой ячейки столбца даты.

Для этого мы можем создать следующий макрос:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " mm/yyyy "
Next i

End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Обратите внимание, что столбец C содержит месяц и год каждой соответствующей даты в столбце A.

Обратите внимание, что мы использовали свойство NumberFormat для форматирования дат с помощью двух цифр для месяцев и четырех цифр для лет.

Если бы мы захотели, мы могли бы выбрать отображение этих значений в другом формате.

Например, мы могли бы использовать следующий синтаксис для отображения месяца одной цифрой (если месяц содержит только одну цифру) и года двумя цифрами:

 SubGetMonthYear ()

Dim i As Integer

For i = 2 To 11
    Range(" C " & i).Value = DateValue(Range(" A " & i))
    Range(" C " & i).NumberFormat = " m/yy "
Next i

End Sub

Когда мы запускаем этот макрос, мы получаем следующий вывод:

Не стесняйтесь экспериментировать с различными параметрами форматирования, чтобы отображать значения месяца и года по вашему желанию.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:

Как сравнить даты в VBA
Как преобразовать строку в дату в VBA
Как рассчитать дни между двумя датами в VBA

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *