Привет всем, я работал над прилагаемым проектом в течение короткого времени и решил поделиться им с группой. Вкратце, в моей организации был ранее наполовину устаревший метод учета оплачиваемого свободного времени для сотрудников. В Excel был встроенный календарь (похожий на календарь в моем прикрепленном файле). Администратор, по сути, вводит данные непосредственно в календарь, что, как вы можете себе представить, стало относительно громоздкой задачей по мере роста организации. Я собрал воедино многие идеи Excel VBA, которые у меня были из предыдущего опыта при создании этой базы данных. Я сделаю здесь несколько замечаний: я понимаю, что на макроскопическом уровне это может быть не так тонко, как приобретение специального решения, но, конечно, в настоящее время это не вариант.

Кроме того, код местами немного запутан, потому что он не был полностью проверен и улучшен. Наконец, в некоторых формах есть вещи, которые могут показаться странными (флажки никуда не денутся). Скорее всего, это жертва из-за того, что я обрезал файл, чтобы удалить все существующие конфиденциальные данные.

Как следует из названия [зловеще], в Рабочей тетради происходит ряд вопросов. Если бы мне нужно было выбрать один элемент, на котором нужно сосредоточиться, я бы предложил взглянуть на первый элемент: создание элементов управления во время выполнения. Одной из проблем с переходом на структуру базы данных была потеря ведомственных обзоров, которые следовало предоставить руководству. Конечно, отдельные ведомственные листы можно связать, но это создаст более медленную и менее масштабируемую модель. Кроме того, разные менеджеры запрашивают разные типы информации, так что это едва ли «один размер для всех приложений».

Userform3 (я знаю, креативные заголовки!) Позволяет администратору книги экспортировать определенную информацию в отчеты в зависимости от необходимости.

Когда пользовательская форма запускается, появляется список, включающий текущие отделы. Кроме того, генерируются переключатели, соответствующие каждому полю на листе ДАННЫЕ, что позволяет экспортировать это поле в новую книгу. Истинное преимущество, когда столбцы добавляются или удаляются (например, я удалил наши цифры бюджета), пользовательская форма расширяется, сжимается и добавляет / удаляет кнопки в зависимости от необходимости. Попробуйте. Добавьте столбец, затем запустите форму, чтобы увидеть, что теперь она включена в переключатели.

Кроме того, в этой форме есть флажок для печати элементов, который распечатает отчет, а также экспортирует его в новую книгу.

Когда вы открываете книгу, должна быть плавающая панель инструментов с опцией для отчетов (насколько я понимаю, это не всегда работает в Excel 2007, но панель инструментов можно найти на вкладке «Разработчик» на ленте). Если он все еще не отображается, вы всегда можете нажать Alt + F8, затем выбрать макрос ShowForm3, чтобы просмотреть пользовательскую форму отчета.

Я оставил весь код в учебном пособии незаблокированным для любопытного наблюдателя и буду рад ответить на любые соответствующие вопросы.