Найти тему

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

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

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

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

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

-3

▶️ Функция Weekday

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

Нумерация дней недели может быть различной, в зависимости от настроек вашей системы.

Например, в США первым днем недели будет воскресенье, а в Европе понедельник.

По умолчанию, в VBA используется нумерация, где воскресенье - первый день недели (1), а суббота - последний день недели (7).

▶️ Пример использования функции Weekday

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

📝 Результат:

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

Чтобы использовать дату указанную в ячейке (например, в ячейке A1) несколько изменим макрос:

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

В данном коде добавлена проверка наличия даты в ячейке A1.

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

▶️ Преобразования даты в название дня недели

Ранее мы рассматривали, что для преобразования даты в название дня недели используется функция Format:

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

Аналогичное решение можно получить используя функцию Choose:

Функция Choose действует подобно индексу массива, т.е. мы можем из некого массива данных индексу возвращать одно значение этого массива, которое соответствует определенному
Функция Choose действует подобно индексу массива, т.е. мы можем из некого массива данных индексу возвращать одно значение этого массива, которое соответствует определенному

В данном коде функции Choose передаем номер дня недели (от 1 до 7) и указываем соответствующие названия дней.

📝 После выполнения макроса, будет отображено название дня недели для указанной даты в ячейке A1:

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

🔘 Чтобы применить рассматриваемую функцию к диапазону применим цикл For Each

https://dzen.ru/media/excel_easy/-for-each-deistviia-v-iacheikah-s-pomosciu-ciklov-primer-resheniia-649bb63d405ed85aae47246c

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

В данном примере добавлена возможность выделить диапазон ячеек, содержащих даты, например:

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

Затем проходим по каждой ячейке в выделенном диапазоне и проверяем, является ли значение ячейки датой. Если в ячейке дата, то выполняем замену значения ячейки на соответствующий день недели.

📝 В результате выполнения макроса все даты в выделенном диапазоне будут заменены на дни недели:

все даты в выделенном диапазоне будут заменены на дни недели
все даты в выделенном диапазоне будут заменены на дни недели

🔘 Чтобы отображать значения дня недели рядом с соответствующими ячейками несколько изменим код:

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

📝 Теперь значения дня недели будут отображаться рядом с соответствующими ячейками:

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

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