Найти тему

📌 Vba Excel: функции для работы с датой (Часть 2). Month

Оглавление

Всем привет! 👋

Продолжаем тему предыдущего урока. Сегодня рассмотрим функцию Month

Vba Excel: функции для работы с датой (Часть 2). Month
Vba Excel: функции для работы с датой (Часть 2). Month

📢 Файл с исходным кодом размещен в конце статьи 🔽

-3

▶️ Функция Month

- возвращает числовое значение, представляющее месяц для указанной даты.

Значения месяцев варьируются от 1 до 12, где 1 соответствует январю, 2 - февралю и так далее.

Пример использования функции Month:

Добавьте описание
Добавьте описание

🔘 Результат:

Добавьте описание
Добавьте описание

Аналогично примеру использования функция Weekday мы можем использовать дату, указанную в ячейке A1, для определения месяца и вывода результата в виде сообщения:

Добавьте описание
Добавьте описание

В данном коде добавлена проверка наличия даты в ячейке A1. Если ячейка содержит дату, то она присваивается переменной myDate и выполняется вычисление месяца:

Добавьте описание
Добавьте описание

Если ячейка не содержит дату, выводится сообщение об ошибке:

Добавьте описание
Добавьте описание

▶️ Преобразование числового значения в название месяца

Отобразить название месяца вместо числового значения можно приметив данный макрос:

Добавьте описание
Добавьте описание

🔘 Результат:

Добавьте описание
Добавьте описание

Изменим условие и отобразим название месяца рядом используя цикл For Each:

Данный макрос  заменяет значения дат в выделенном диапазоне ячеек на соответствующие названия месяцев.
Данный макрос заменяет значения дат в выделенном диапазоне ячеек на соответствующие названия месяцев.

📝 Краткое описание работы макроса:

  • Если выделена только одна ячейка, проверяется, содержит ли она дату. Если содержит, то извлекается значение даты и определяется соответствующий месяц. Затем название месяца записывается в соседнюю ячейку с помощью сдвига (Offset), и выводится сообщение об успешном выполнении.
  • Если выделен диапазон ячеек, то для каждой ячейки в диапазоне проверяется, является ли значение датой. Если является, то извлекается значение даты и определяется соответствующий месяц. Название месяца записывается в соседнюю ячейку с помощью сдвига (Offset).
  • Если выделенная ячейка или диапазон ячеек не содержит дату, выводится сообщение об ошибке. В конце выводится сообщение об успешном выполнении замены.

🔔 Как вы могли заметить в макросе для получения названия месяца на основе его числового значения используется пользовательская функция GetMonthName:

Данная функция принимает числовое значение месяца в качестве аргумента и возвращает соответствующее название месяца в виде строки.
Данная функция принимает числовое значение месяца в качестве аргумента и возвращает соответствующее название месяца в виде строки.

📝 Краткое описание:

  • Принимается аргумент month, который представляет числовое значение месяца (от 1 до 12);
  • С помощью оператора Select Case проверяется значение аргумента month;
  • В зависимости от значения month устанавливается соответствующее название месяца с помощью оператора присваивания =. Например, если month равен 1, то GetMonthName присваивается значение "Январь". Аналогично, для каждого возможного значения month устанавливается соответствующее название месяца;
  • После завершения блока Select Case, функция возвращает значение названия месяца с помощью конструкции GetMonthName = <название месяца>.

🔘 Теперь результат отображается в "соседней" ячейке:

Добавьте описание
Добавьте описание
-14
Наша команда очень заинтересована в создании качественного и полезного контента. Поэтому, если Вам понравился этот урок, не забудьте поблагодарить автора лайком 👍. Если у Вас есть вопросы или своё решение, не стесняйтесь оставить комментарий 💬. Нужно решение для другой проблемы? Пожалуйста, напишите свой вопрос в комментариях 💬, и мы обязательно рассмотрим его в ближайшей теме обзора. Мы ценим Вашу обратную связь 💝, так как это помогает нам оценить, насколько данный материал был полезен для Вас
Наша команда очень заинтересована в создании качественного и полезного контента. Поэтому, если Вам понравился этот урок, не забудьте поблагодарить автора лайком 👍. Если у Вас есть вопросы или своё решение, не стесняйтесь оставить комментарий 💬. Нужно решение для другой проблемы? Пожалуйста, напишите свой вопрос в комментариях 💬, и мы обязательно рассмотрим его в ближайшей теме обзора. Мы ценим Вашу обратную связь 💝, так как это помогает нам оценить, насколько данный материал был полезен для Вас

СКАЧАТЬ ПРИМЕР