Как использовать функцию vba datepart?
Функция VBA DATEPART указана в категории дат функций VBA. Когда вы используете его в коде VBA, он может возвращать значение дня из значения даты или времени . Проще говоря, вы можете получить секунды, минуты, часы, дни, месяцы или годы из значения даты или времени.
Синтаксис
DatePart(интервал, дата, [первый день недели, [первая неделя года]])
Аргументы
- Интервал : строка, указывающая, какая часть даты должна быть возвращена в результате.
- Дата : дата, с которой должна вернуться часть даты.
- [FirstDayOfWeek] : строка для определения первого дня недели [это необязательный аргумент, если он опущен, vbSunday по умолчанию].
- vbUseSystemDayOfWeek — в зависимости от настроек системы.
- vbSunday – воскресенье
- вблундей – понедельник
- vbВторник – вторник
- vbСреда – среда
- vbЧетверг – Четверг
- vbFriday – Пятница
- vbСуббота – Суббота
- [FirstWeekOfYear] : строка для определения первой недели года [это необязательный аргумент, если он опущен, vbFirstJan1 по умолчанию].
- vbSystem – В зависимости от настроек системы.
- vbFirstJan1 — неделя, на которой приходится 1 января.
- vbFirstFourDays — первая неделя, содержащая не менее четырех дней в новом году.
- vbFirstFullWeek — первая полная неделя нового года.
Пример
Чтобы практически понять, как использовать функцию VBA DATEPART, вам нужно просмотреть пример ниже, где мы написали код vba, используя ее:

Sub example_DATEPART() Range("A2").Value = DatePart("d", Range("A1")) Range("A3").Value = DatePart("h", Range("A1")) Range("A4").Value = DatePart("m", Range("A1")) Range("A5").Value = DatePart("n", Range("A1")) Range("A6").Value = DatePart("q", Range("A1")) Range("A7").Value = DatePart("s", Range("A1")) Range("A8").Value = DatePart("w", Range("A1")) Range("A9").Value = DatePart("ww", Range("A1")) Range("A11").Value = DatePart("y", Range("A1")) Range("A12").Value = DatePart("yyyy", Range("A1")) End Sub
В приведенном выше коде мы использовали другой интервал в DATEPART:
- ‘d’, чтобы получить день, и он вернул 15.
- ‘h’, чтобы получить часы, но поскольку в дате нет времени, в результате возвращается 0.
- ‘m’, чтобы получить месяц, и он вернул 1.
- ‘n’, чтобы получить минуты, но поскольку у нас нет времени в дате, результат возвращает 0.
- «q», чтобы получить квартал, и он вернул 1.
- ‘s’, чтобы получить секунды, но поскольку в дате нет времени, в результате возвращается 0.
- ‘w’, чтобы получить день недели, и он вернул 3.
- «ww», чтобы получить неделю года, и она вернулась к 3.
- «y», чтобы получить день года, и он вернул 15.
- «аааа», чтобы получить год, и он вернулся в 2019 год.
Комментарии
- Если дата указана без года, будет использоваться текущий год.
- Если указанное значение отличается от даты или даты, которую невозможно распознать как дату, VBA вернет ошибку времени выполнения 13.
- Установка аргумента «первыйдень недели» работает только в том случае, если «интервал» равен «w» или «ww».