Ребята, всем привет! 👋 Продолжаем изучать VBA Excel.
Для облегчения ввода данных в Excel можно воспользоваться специальными формами, которые помогут ускорить процесс заполнения табличного диапазона информацией.
Сегодня в уроке поговорим об одной из таких форм посредством которой будет вводиться дата.
✍️ Если вы только начинаете осваивать Excel мы уверены, каждый может найти для себя что-то новое!
✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube.
Ранее мы уже разбирали как создать пользовательскую форму в Excel VBA для получения данных от пользователя, а потому уверена, что Вы с легкостью можете создать любую UserForm отвечающую вашим потребностям.
Но для того, чтобы облегчить Вашу задачу по вводу дат я предлагаю уже готовое универсально решение по добавлению выпадающего календаря который вызывается пользователем при нажатии кнопку на форме.
Применять данный календарь вы можете для любой из создаваемых форм просто добавив саму форму и код к ней в ваш файл Excel (*..xlsm)
📢 Скачать исходник с примером кода вы можете в конце статьи 🔽
Вот такой календарь будет видеть пользователь 😉
Итак, начнем.
⏩ Выпадающий календарь на форме
Т.к. данное решение является универсальным вы можете применять его для любой созданной вами UserForm.
Возможность использования данного решения рассмотрим на примере.
☑️ ШАГ 1. Создаем пользовательскую форму в Excel VBA для получения данных от пользователя, например:
☑️ ШАГ 2. Создаем новый стандартный модуль(Module)
Т.к. наш код VBA должен где-то храниться, создадим новый модуль(Module1):
где для функции Get_Date пишем следующий код:
☑️ ШАГ 3. На кнопку с "календариком"на форме UserForm1
задаем следующий код:
где TextBox1 - элемент управления TextBox (текстовое поле) на нашей форме используемый для отображения даты, добавленной пользователем:
☑️ ШАГ 4.На кнопку "ОК" на форме UserForm1
задаем следующий код:
где CommandButton1 – это элемент управления пользовательской формы, предназначенный для запуска макроса по вводу даты в соответствующую ячейку на листе Excel.
Примечание: данный пример кода выполняет ввод даты в ячейку А1 (в зависимости о вашей задачи код может быть иным)
☑️ ШАГ 5. Добавим форму Form_SelectDate
🔔 Именно эту форму видит пользователь когда ему требуется выбрать дату
Form_SelectDate - это уже готовое универсально решение (см. исходник с примером кода):
Обратите внимание! Модуль пользовательской формы Form_SelectDate уже содержит код. Вам достаточно просто скопировать данную форму в свою книгу Excel.
ПОЧТИ ГОТОВО...
Показать пользовательскую форму
Для того, чтобы показать форму создадим на листе кнопку
и назначим ей следующий макрос:
Теперь все готово! Можем протестировать работу.
- жмем ОК. Данные добавляются на форму "ВВОД ДАТЫ":
- жмем ОК. Данные будут добавлены в ячейку А1:
В завершение...
В завершение добавлю, что сама очень часто использую данную форму календаря в своих программах и считаю ее достаточно удобной:
А потому и решила поделиться с Вами данным решением.
Внедрить данную форму календаря вы можете и без вызова промежуточной формы, либо напротив использовать на нескольких пользовательских формах в рамках одной программы.
А на этом сегодня все. 👏 Теперь вы знаете как выполнить ввод даты на UserForm при помощи календаря. Я надеюсь, что вы нашли этот урок полезным.
Продолжение следует...
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel. Сэкономьте сумасшедшее количество времени, используя VBA. Следите за нашими новостями и вы узнаете больше о VBA и Excel в частности.
Понравился урок!? не забываем оставлять комментарий 📝 Нам очень важна Ваша обратная связь.
💝 А если у Вас пока нет вопросов, но вы дочитали данную статью до конца оставьте в комментариях просто смайлик 😉 (автору будет приятно)
И конечно же, за лайк 👍 благодарочка 💖 и респект 🤝 каждому!