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