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