Урок 15 по VBA — функции работы с датой и временем

Урок 15 по VBA — функции работы с датой и временем Макросы на VBA

И так, в этой по своей природе унылой публикации я кратко рассмотрю 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.
Оцените статью
Технологии программирования и ведение блога
Добавить комментарий для Наталья Отменить ответ

  1. Наталья

    Спасибо, Александр. Ваш блог — первое, что действительно помогло мне в начале изучения VBA. Огромное спасибо. Дайте кошелек. положу хотя бы маленькую денежку. Капча у Вас классная, я таких не видела

    Ответить
  2. Наталья

    Прошу прощения, Владимир. обратилась к Вам «Александр» Накладочка вышла, я перед этим с коллегой общалась… Еще раз спасибо!

    Ответить