Excel vba работа с датами
Функции для работы с датой и временем
Функции даты / времени VBA, функции Date (), Time (), DateAdd (), DateDiff (), DatePart (), DateSerial (), Timer()
Без функций даты и времени обычно просто невозможно обойтись. Наиболее важные функции VBA для работы с датой / временем:
- Date () — возвращает текущую системную дату. Вы можете установить его с помощью одноименного оператора, например, так:
- Time () возвращает текущее системное время, а Now () возвращает дату и время вместе.
- DateAdd () — возможность добавлять к дате указанное количество лет, кварталов, месяцев и т.д. — до секунд.
- DateDiff () — возможность получить разницу между датами (опять же, в единицах от лет до секунд).
- DatePart () — очень важная функция, которая возвращает указанную часть даты (например, только год, только месяц или только день недели).
- DateSerial () — возможность создавать значение даты на основе переданных символьных значений. DateValue () делает то же самое, различия заключаются в формате получаемых значений. TimeSerial () и TimeValue () работают аналогично (для time().
- Day () (в дополнение к Year (), Month (), Weekday (), Hour (), Minute (), Second ()) являются специализированными заполнителями для функции DatePart (), которые возвращают желаемую часть даты.
- MonthName () — возвращает название месяца буквами в зависимости от его номера. Возвращаемое значение зависит от языкового стандарта. Если они русские, будет возвращено русское название месяца.
- Timer () — возвращает количество секунд с полуночи.
Если вам нужны более продвинутые функции даты и времени, в вашем распоряжении объектная модель Outlook. Например, с его помощью можно получить информацию о праздничных и рабочих / нерабочих днях в большинстве стран мира. Подробнее — в соответствующем разделе.
Excel vba работа с датами
На этом шаге мы перечислим функции, используемые при работе с датой и временем.
VBA предоставляет следующие функции времени и даты.
- Дата: возвращает вариант (дату), содержащий текущую системную дату.
Время: возвращает вариант (дату), содержащий текущее время по системным часам компьютера.
Время: возвращает вариант (дату), содержащий текущую дату и время на основе системного календаря и часов компьютера.
Hour, Minute, Second — возврат значений Variant (Integer), содержащих целое число, представляющее часы, минуты и секунды в значении времени. Синтаксис:
- время — это значение времени или выражение, которое его определяет.
В следующем примере переменная установлена на 16 часов, 35 минут и 17 секунд:
- data — значение даты или выражение, которое его определяет.
В следующем примере переменной присвоено 17 День, Месяц — Май, Год — 1960:
- дата — это выражение, представляющее дату;
- firstdayofweek — указывает первый день недели. Если этот аргумент опущен, предполагается vbSunday (воскресенье). Допустимые значения: vbMonday (понедельник), vbTuesday (вторник), vbWednesday (среда), vbThursday (четверг), vbFriday (пятница) и vbSaturday (суббота).
В следующем примере для переменной DayWeek установлено значение 3, то есть вторник:
DateDiff: возвращает вариант (Long), указывающий количество временных интервалов между двумя датами. Синтаксис:
В следующем примере переменной LivedMonthsWithBirth присваивается 642:
В следующем примере переменной назначается День 3/17/63:
В этом примере переменной Tempo присвоено 16:35:17:
В следующем примере переменной Date назначается дата 17.05.60:
На следующем этапе мы рассмотрим функции выбора.
VBA — функции работы с датой и временем
Итак, в этой естественно скучной публикации я кратко рассмотрю функции даты и времени vba, которые позволяют вам получать или устанавливать параметры даты и времени, устанавливать таймер для выполнения определенного блока кода или одного скрипта в целом. Также в конце статьи будет затронута функция языка форматирования vba. Которая отвечает за форматирование данных.
Функции VBA даты и времени
Date () — получить текущее значение даты, установленное в системе.
Time () — вернет время, установленное в системе
Now () — это комбинированная функция, поскольку она получает значение системной даты и времени.
DateAdd (интервал, число, дата) — добавляет указанное количество лет, кварталов, месяцев или секунд к указанной дате (параметр «дата»). На выходе получаем следующее значение: дата + (число * диапазон).
DateDiff (range, date, date2) — получить, например, разницу между заданными датами. В годах, месяцах и т.д. Разница определяется параметром «интервал”.
DatePart (диапазон, дата): получает указанную часть даты, например, только год, месяц или день недели. Результат возврата регулируется параметром «интервал”.
DateSerial (год, месяц, день): эта функция vba принимает три числовых значения, на основе которых возвращается дата.
DateValue (строка) является аналогом предыдущей функции, но мы не передаем здесь числа в качестве параметра. А строковое значение, по которому будет возвращена дата, vba работает с датами.
День: получает значение текущего дня (если параметр «дата» не указан) или для определенной даты.
Год: получает значение текущего года (если параметр «дата» не указан) или для определенной даты.
Месяц: получает значение текущего месяца (если параметр «дата» не указан) или для определенной даты.
Weekday (date) — получает значение текущей недели (если параметр «date» отсутствует) или для определенной даты.
Hour (время) — получает текущее значение часа (если параметр «время» отсутствует) или для определенного времени, даты и времени vba.
Минута: получает текущее значение минут (если параметр «время» отсутствует) или за определенное время.
Секунда (время): получает текущее значение в секундах (если параметр «время» отсутствует) или за указанное время.
Timer () — удобная функция для определения количества времени, необходимого для выполнения заданного блока кода. Сама функция возвращает целое число секунд, прошедших с полуночи.
TimeSerial (часы, минуты, секунды): получает время, указанное тремя параметрами
TimeValue (строка): работает аналогично предыдущей функции, но для получения времени передается не целочисленное значение, а строка.
MonthName (числовое значение) — функция VBA позволяет получить название месяца, в качестве параметра мы указываем номер месяца.
WeekDay (date) — set возвращает название месяца буквами в зависимости от его номера. Возвращаемое значение зависит от языкового стандарта. Если они русские, будет возвращено русское название месяца.
В дополнение к указанным выше функциям даты и времени vba вы можете использовать следующие варианты:
Дата: установка системной даты
Время: установите системное время.
Функции даты и времени vba в указанном выше языке используют параметр «interval», который может принимать следующие значения:
VBA функции форматирование данных
Для форматирования данных в VBA используется функция Format, которая позволяет формировать данные любого встроенного типа по заданному шаблону. Общий синтаксис функции форматирования:
Формат (Выражение, «формат», [первы]й день недели, [первая недел[я года]]) — здесь параметр «выражение» — любое допустимое значение. Формат — необязательный параметр, указывающий формат данных, должен быть заключен в кавычки. Два других параметра также являются необязательными и задают первый день недели и первую неделю года.
Параметр формата может принимать следующие значения:
- Общее число — это числовое значение без выделения тысяч позиций, например 12150,2003
- Валюта — формат валюты, присваиваются тысячные и два десятичных знака, например 255,33 рубля.
- Исправлено: числовое значение без разделения тысяч разрядов и двух десятичных знаков, например 22439.12.
- Стандарт: числовое значение, умноженное на 100, оставляя два десятичных знака и символ процента, например 55,63%.
- Научный: числовой формат для научных вычислений, например 5.23E + 03
- Да / Нет: этот параметр определяет, что функция вернет «Да», если форматированное выражение содержит строку «Нет» или ненулевое значение, и «Нет» в противном случае.
- True / False — аналогично предыдущему параметру, но для строк «True» и «False”.
- Вкл / Выкл — для линий типа «Вкл» и «Выкл”.
- Общая дата: форматирование выражения в соответствии с установленными стандартами даты и времени, например 10.11.02 12:25:50
- Длинная дата — отображает полный формат даты, в зависимости от настроек в системе, например 10 октября 2013 года, функция даты vba.
- Средняя дата: формат средней даты, например 10-окт-13.
- Краткая дата — вывод в кратком формате даты, например 10.10.13.
- Long Time — вывод в формате времени (часы, минуты, секунды), например 12:20:40.
- Среднее время: 12-часовой формат времени (часы, минуты), например 05:30.
- Краткое время: 24-часовой формат времени (часы, минуты), например 17:30