Найти в Дзене
VBA Excel с нуля

VBA Excel № 72.3 Работа с датами. Расширенные функции в VBA.

Продолжение (начало в статье 72.1 и статье 72.2) Функция АДАТАГОД используется для извлечения года из переданной даты (адата1), учитывая предварительную обработку даты с помощью функции УдалитьДату. В коде следующее: Таким образом, функция АДАТАГОД принимает строку с датой (адата1), удаляет из нее день недели с помощью функции УдалитьДату, затем преобразует полученную строку в значение даты (DateValue) и, наконец, извлекает год из этой даты с использованием Year. Результат, представляющий год, возвращается в качестве результата функции. Функция АДАТАМЕСЯЦ принимает строку с датой, удаляет из нее день недели с помощью функции УдалитьДату и затем возвращает номер месяца для полученной даты. Давайте рассмотрим каждую строку кода более подробно: Следующая функция: АДАТАДЕНЬ принимает строку с датой, удаляет из нее день недели с помощью функции УдалитьДату и затем возвращает номер дня для полученной даты. Разжевывать не будем, аналогия надеюсь понятна. И наконец функция АДАТАДЕНЬНЕДЕЛИ при
Оглавление
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Продолжение (начало в статье 72.1 и статье 72.2)

📌 Скачать файл пример, можно в конце статьи.

АДАТАГОД

Функция АДАТАГОД используется для извлечения года из переданной даты (адата1), учитывая предварительную обработку даты с помощью функции УдалитьДату.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

В коде следующее:

  1. адата1 = УдалитьДату(адата1): Применяет функцию УдалитьДату к переданной дате адата1. Эта функция удаляет день недели из строки с датой.
  2. АДАТАГОД = Year(DateValue(адата1)): Преобразует строку адата1 в значение типа Date с использованием DateValue. Это преобразование позволяет Excel понимать строку как дату. Затем используется функция Year, чтобы извлечь год из полученной даты.
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Таким образом, функция АДАТАГОД принимает строку с датой (адата1), удаляет из нее день недели с помощью функции УдалитьДату, затем преобразует полученную строку в значение даты (DateValue) и, наконец, извлекает год из этой даты с использованием Year. Результат, представляющий год, возвращается в качестве результата функции.

АДАТАМЕСЯЦ

Функция АДАТАМЕСЯЦ принимает строку с датой, удаляет из нее день недели с помощью функции УдалитьДату и затем возвращает номер месяца для полученной даты.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Давайте рассмотрим каждую строку кода более подробно:

  • Function АДАТАМЕСЯЦ(адата1): Объявляет функцию с именем "АДАТАМЕСЯЦ", принимающую один аргумент - "адата1".
  • адата1 = УдалитьДату(адата1): Вызывает функцию УдалитьДату, которая удаляет день недели из переданной строки с датой. Результат сохраняется в переменной "адата1". Это действие призвано предварительно обработать дату перед использованием функции Month.
  • АДАТАМЕСЯЦ = Month(DateValue(адата1)): Здесь используется функция Month, которая возвращает номер месяца для заданной даты. DateValue(адата1) преобразует текстовое представление даты в реальное значение даты. Полученный номер месяца присваивается результату функции АДАТАМЕСЯЦ.
Скриншот с моего ноутбука
Скриншот с моего ноутбука

АДАТАДЕНЬ

Следующая функция: АДАТАДЕНЬ принимает строку с датой, удаляет из нее день недели с помощью функции УдалитьДату и затем возвращает номер дня для полученной даты. Разжевывать не будем, аналогия надеюсь понятна.

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

АДАТАДЕНЬНЕДЕЛИ

И наконец функция АДАТАДЕНЬНЕДЕЛИ принимает строку с датой, удаляет из нее день недели с помощью функции УдалитьДату и возвращает номер дня недели для полученной даты. Номер дня недели представлен целым числом в диапазоне от 1 до 7, где 1 обозначает воскресенье, 2 - понедельник, и так далее.

Скриншот с моего ноутбука
Скриншот с моего ноутбука
  1. Function АДАТАДЕНЬНЕДЕЛИ(адата1): Объявляет функцию с именем "АДАТАДЕНЬНЕДЕЛИ", принимающую один аргумент - "адата1".
  2. адата1 = УдалитьДату(адата1):Переменная "адата1" изменяется вызовом функции УдалитьДату. Эта функция удаляет день недели из переданной строки с датой, и результат сохраняется в переменной "адата1". Это действие предназначено для предварительной обработки даты.
  3. АДАТАДЕНЬНЕДЕЛИ = Weekday(адата1): Здесь используется функция Weekday, которая возвращает номер дня недели для заданной даты. Результат этой функции присваивается переменной, которая является результатом функции АДАТАДЕНЬНЕДЕЛИ.
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Теперь в нашем модуле 9 функций и можно побаловаться игрой с датами.

СКАЧАТЬ ФАЙЛ ПРИМЕР