Як знайти перший день місяця за допомогою vba (з прикладом)


Ви можете використовувати функцію DateSerial() у VBA зі значенням 1 для аргументу дня, щоб знайти перший день місяця для дати в певній клітинці.

Наприклад, можна використати такий синтаксис, щоб знайти перший день місяця для дати в клітинці A1 і повернути цю дату в клітинку B1 :

 dateVal = DateValue(Range(" A1 "))

Range(" B1 ").Value = DateSerial(Year(dateVal), Month(dateVal), 1)

Наприклад, якщо клітинка A1 містить 1/5/2023 , клітинка B1 поверне 1/1/2023 .

У наступному прикладі показано, як використовувати цю функцію на практиці.

Приклад: використовуйте VBA, щоб знайти перший день місяця

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

Припустімо, ми хочемо знайти перший день місяця для кожної дати в стовпці A і повернути дату у відповідну комірку в стовпці C.

Для цього ми можемо використати такий синтаксис:

 SubFirstDayOfMonth ()

Dim i As Integer

For i = 2 To 11
    dateVal = DateValue(Range(" A " & i))
    Range(" C " & i).Value = DateSerial(Year(dateVal), Month(dateVal), 1)
Next i

End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Знайти VBA перший день місяця

Кожна з дат у стовпчику C представляє перший день місяця для відповідної дати у стовпчику A.

Примітка №1: у коді ми використовували For i = 2–11, оскільки клітинки A2–A11 містили дати, які нас цікавили. Не соромтеся змінювати цей діапазон залежно від діапазону комірок, який ви хочете використовувати.

Примітка №2 : ви можете знайти повну документацію функції DateSerial() у VBA тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання за допомогою VBA:

Як сортувати за датою у VBA
Як додати if між двома датами у VBA
Як рахувати більше дати у VBA

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

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