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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *