Функція VBA DatePart | Як повернути вказану частину дати?

Функція Excel VBA DatePart

DatePart у VBA використовується для ідентифікації частини дати для даної дати, поданої як аргумент, частиною дати може бути або дні, або місяці, або рік, або навіть години, хвилини та секунди, синтаксис цієї функції дуже чітко пояснює себе і він такий, Datepart (інтервал, дата як аргумент).

Синтаксис

Синтаксис функції DatePart наведено нижче:

  • Інтервал: Дані, що передаються в аргументі інтервалу, мають тип рядка, що означає, що цей аргумент може містити в ньому будь-які допустимі значення. Інтервал може становити рік, місяць, чверть, день, тиждень, година, хвилина, секунда.
  • Дата: значення дати, яке потрібно оцінити.
  • firstdayofweek: це необов’язковий параметр. Це описує перший день тижня, це навіть можна ігнорувати. Якщо цей параметр ігнорувати, це автоматично приймає неділю як перший день тижня. Якщо ви хочете змінити це, тоді цей параметр можна використовувати. Цей аргумент може складатися з vbUseSystem 0.

Використовуйте налаштування API NLS

vbSunday (за замовчуванням), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: Аналогічно верхньому параметру, це також необов’язковий параметр. Це описує перший тиждень року. Цей параметр також можна ігнорувати. Якщо цей параметр ігнорувати, він передбачає, що 1 січня - перший тиждень року. Якщо ви хочете змінити це, тоді цей параметр можна використовувати.

    Цей аргумент може складатися з таких значень.

    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Після введення всіх параметрів Datepart () поверне числове значення, таке як ціла дата або рік, або місяць, або квартал тощо. Отже, типом повернення цієї функції буде числове значення.

Як використовувати функцію DatePart у VBA?

Завантажити цей шаблон VBA DatePart Excel можна тут - Шаблон Excel VBA DatePart

Приклад №1

Перший приклад - це також відображення повної дати та кварталу цього місяця.

Для цього нам потрібно написати трохи коду у Visual Basic, для цієї вкладки Goto Developer, а потім натиснути на Visual Basic, і тоді відкриється вікно.

У цьому вікні напишіть код, як показано нижче.

Код:

 Sub date_Datepart () Вимірювати дату як варіант mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'відображає квартал Кінець Sub 

У цьому прикладі ми використовували функцію Datepart для відображення дати та певної частини дати, яка становить чверть дати. Це відображає, у якому кварталі року настає дата.

Якщо ми налагодимо код, дата відображатиметься як повна дата вперше, коли код виконує “Msgbox mydate”, оскільки випадкова дата призначається змінній “mydate”.

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

Коли ви запускаєте код вручну або за допомогою комбінації клавіш F5, дата відображатиметься так, як показано після натискання кнопки OK. Далі відображатиметься квартал дати, це може бути показано на знімку екрана нижче.

Так само, Квартал, також може відображатися лише дата, місяць або рік.

Приклад №2

У цьому прикладі я введу дату вручну під час запуску.

Код:

Sub date1_datePart () Dim TodayDate As Date 'Оголосити змінні. Затьмарити Msg TodayDate = InputBox ("Введіть дату:") Msg = "Квартал:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

У цьому прикладі ми намагаємось отримати дату вручну під час запуску. Код “TodayDate = InputBox (“ Введіть дату: ”)” цей рядок вказує на те, що дату можна ввести вручну,

Після введення дати вручну відображається квартал дати у вікні повідомлення. Це може бути показано на знімку екрана нижче.

Оскільки червневий місяць припадає на 2 квартал, на ньому відображається 2 квартал, як показано на скріншоті вище.

Приклад №3

У цьому прикладі всі значення будуть заповнені в комірках.

Код:

 Private Sub Workbook_Open() Dim DummyDate As Date DummyDate = ActiveSheet.Cells(2, 2) ActiveSheet.Cells(2, 2).Value = Day(DummyDate) ActiveSheet.Cells(3, 2).Value = Hour(DummyDate) ActiveSheet.Cells(4, 2).Value = Minute(DummyDate) ActiveSheet.Cells(5, 2).Value = Month(DummyDate) ActiveSheet.Cells(6, 2).Value = Weekday(DummyDate) End Sub 

The dates are filled in the cells in the excel sheet, for that the code is written as Active Sheet.cells. By this code the date which is present may be year month or date can be inserted into the given cells.

For example, in the above screenshot,

The day is to be inserted in the cells ( 2, 2) of the excel sheet. Hence the code is written as “ ActiveSheet.Cells(2, 2).Value = Day(DummyDate) “ .

Run the code using the F5 key or manually and the result would be as shown below.

It is by default taking today date and it is displaying as 30 in (2,6) cell.

Likewise for all the other data also it can be filled.

Usage of DatePart Function

  • DatePart function can be used to display the part of the date as the name indicates i.e., if only day or month or year of the date needs to be displayed then this function can be used.
  • This function also separates date, month and a year from a particular date.
  • By using this function the date is not only separated we can also get the quarter, day, hour, minute and a second.

Things to Remember

  • This function can only be used as a VBA Function. In normal excel, this cannot be used.
  • The dates which are given as a value in this function can be given in any format such as mm-dd-yyyy format or DD-MM-YYYY format etc.
  • This function will separate all the values separately such as date, month, year or time also an hour, minute, seconds also.
  • This is organized under Date and Time Functions in VBA of Microsoft Excel.