И так, в этой по своей природе унылой публикации я кратко рассмотрю vba функции даты и времени, которые позволяют получить или установить параметры даты и времени, задать таймер выполнения заданного блока кода или сценария в целом. Также в конце статьи будет затронута функция vba языка format. Которая отвечает за форматирование данных.
Функции VBA даты и времени
Date() – позволяет получить значение текущей даты, установленной в системе.
Time() – вернет установленное в системе время
Now() – комбинированная функция, так как она позволяет получить значение системной даты и времени.
DateAdd(интервал, число, дата) – позволяет прибавить к заданной дате (параметр “дата”) указанное количество лет, кварталов, месяцев или секунд. На выходе мы получим следующее значение: дата + (число * интервал).
DateDiff(интервал, дата, дата2) – позволяет получить разницу между заданными датами, например. В годах, месяцах и так далее, разница определяется параметром “интервал”.
DatePart(интервал, дата) – позволяет получить заданную часть даты, например, только значение года, месяца или дня недели. Результат возврата регулируется параметром “интервал”.
DateSerial(год, месяц, день) – данная функция vba принимает три числовые значения, по которым возвращается дата.
DateValue(строка) – аналог предыдущей функции, но тут в качестве параметра мы передаем не числа. А строковое значение, на основе которого будет возвращаться дата, vba работа с датами.
Day(дата) – позволяет получить значение текущего дня (если отсутствует параметр “дата”) или для заданной даты.
Year(дата) – позволяет получить значение текущего года (если отсутствует параметр “дата”) или для заданной даты.
Month(дата) – позволяет получить значение текущего месяца (если отсутствует параметр “дата”) или для заданной даты.
Weekday(дата) – позволяет получить значение текущей недели (если отсутствует параметр “дата”) или для заданной даты.
Hour(время) – позволяет получить текущее значение часов (если отсутствует параметр “время”) или для заданного времени, vba дата и время.
Minute(время) – позволяет получить текущее значение минут (если отсутствует параметр “время”) или для заданного времени.
Second(время) – позволяет получить текущее значение секунд (если отсутствует параметр “время”) или для заданного времени.
Timer() – удобная функция для определения промежутка времени, ушедшего на выполнение заданного блока кода. Сама функция возвращает целое количество секунд, которые прошли начиная с полуночи.
TimeSerial(часы, минуты, секунды) – позволяет получить время, заданное тремя параметрами
TimeValue(строка) – работает аналогично предыдущей функции, но для получения времени, передается не целое значение, а строковое.
MonthName(числовое значение) – VBA функция позволяет получить название месяца, в качестве параметра указываем номер месяца.
WeekDay(дата) — задает возвращает имя месяца словами по его номеру. Возвращаемое значение зависит от региональных настроек. Если они русские, то вернется русское название месяца.
Помимо указанных выше vba функций даты и времени, можно использовать и такие вариации:
Date (дата) – позволяет задать системную дату
Time (время) – позволяет задать системное время.
В приведенных выше функциях даты и времени vba языка используется параметр “интервал”, который может принимать следующие значения:
- w – недели
- q – квартал
- d – месяца
- y – года
VBA функции форматирование данных
Для форматирования данных в языке VBA используется функция Format, которая позволяет сформировать данные любого встроенного типа, используя заданный образец. Общий синтаксис функции format:
Format(Выражение, [“формат”, [первый день недели, [первая неделя года]]]) – тут параметр “выражение” является любым допустимым значением. Формат – необязательный параметр, который задает формат данных, должен заключаться в кавычки. Остальные два параметра также являются необязательными, и задают день недели, который нужно считать первым, и первую неделю года.
Параметр формат может принимать следующие значения:
- General Number – числовое значение без выделения разрядов тысяч, например, 12150,2003
- Currency – денежный формат, выделяются тысячные разряды и два знака после запятой, например, 255,33р.
- Fixed – числовое значение без выделения разрядов тысяч и двумя знаками после запятой, например, 22439,12.
- Standart – числовое значение, которое умножается на 100, при этом, остаются два знака после запятой и символ процента, например, 55,63%.
- Scientific – числовой формат для научных вычисление, например, 5,23Е+03
- Yes/No – данный параметр определяет, что функция вернет “Да” если форматированное выражение содержит строку Нет, или ненулевое значение и “Нет” в противном случае.
- True/False – аналог предыдущего параметра, но для строк “Истина” и “Ложь”.
- On/Off – для строк вида “Вкл” и “Выкл”.
- General Date – форматирование выражения в соответствии с установленными в системе стандартами даты и времени, например, 10.11.02 12:25:50
- Long Date – вывод полного формата даты, в зависимости от установок в системе, например, 10 октября 2013 г, vba функции даты.
- Medium Date – средний формат дат, например, 10-Окт-13.
- Short Date – короткий вывод формата даты, например, 10.10.13.
- Long Time – вывод в формате времени (часы, минуты, секунды), например, 12:20:40.
- Medium Time – 12 часовой формат времени (часы, минуты), например, 05:30.
- Short Time — 24 часовой формат времени (часы, минуты), например, 17:30.
Спасибо, Александр. Ваш блог — первое, что действительно помогло мне в начале изучения VBA. Огромное спасибо. Дайте кошелек. положу хотя бы маленькую денежку. Капча у Вас классная, я таких не видела
Прошу прощения, Владимир. обратилась к Вам «Александр» Накладочка вышла, я перед этим с коллегой общалась… Еще раз спасибо!