Таблица учета персонала в Excel. II часть

Таблица учета персонала в ExcelТаблица учета персонала в Excel. Часть II.

Ранее мы создали таблицу учета персонала и настроили автоматическую загрузку данных в нее.

Но есть одна сложность – некоторые данные о кандидате нужно разместить в нескольких строках.

Это, например, данные об образовании (нередко сотрудники оканчивают несколько учебных заведений) или данные о трудовом стаже.

Если мы начнем заносить их в ту же таблицу, где расположена основная информация, то появятся пустые строки, или, чтобы не нарушить целостность таблицы, нам придется дублировать данные о сотруднике в каждой строке, в которой добавлена новая запись об образовании или стаже. Подобная структура неудобна с точки зрения восприятия.

Проработка структуры

В классических базах данных подобная проблема решается путем создания отдельных таблиц, и связки их с помощью определенного кода (например, порядкового номера сотрудника). Также сделаем и мы. Создадим отдельные таблицы «Образование» и «Стаж». Добавим их на отдельные листы. В каждой создадим следующие поля:

  • Образование
    • Код сотрудника;
    • Дата поступления;
    • Дата окончания;
    • Вуз;
    • Факультет;
    • Специальность.
  • Стаж
    • Код сотрудника;
    • Организация;
    • Дата начала работы;
    • Дата окончания работы;
    • Должность.

Теперь обдумаем порядок внесения данных в эти таблицы. В основной таблице предусмотрим возможность ввода данных в колонку «Образование» из списка (о создании списков я писал ранее).

Внесем следующие варианты:

  • Начальное;
  • Н. среднее;
  • Среднее;
  • Н. высшее;
  • Высшее.

В случае выбора вариантов «Н. высшее» и «Высшее» должен запуститься макрос, открывающий форму для внесения данных об образовании, которые, в свою очередь, будут поступать в таблицу «Образование».

Аналогичным образом предусмотрим внесение данных через форму в таблицу «Стаж». Создадим список с вариантами «Есть опыт работы» и «Не работал» и запуск формы настроим по выбору варианта «Есть опыт работы».

Создание форм

Для начала создадим формы. Открываем вкладку «Разработчик» и жмем на кнопку «Visual Basic».

В открывшемся мастере выбираем  пункт меню «Insert» -> «UserForm». Будет создана пустая форма, в свойствах которой найдем строку Name  и внесем туда наименование формы «Образование». На панели элементов формы нам понадобятся:

  • Label – для внесения наименования полей;
  • TextBox – поля для внесения текста;
  • ComboBox – поля для выбора значений из списка;
  • CommandButton – кнопки для запуска команд в макросе.

С помощью них создадим форму «Образование», и форму, которой дадим наименование «ТрудовойСтаж»:

Форма «Образование»

Форма «ТрудовойСтаж»

Как видите, в обеих формах ввод дат должен производится с помощью выбора каждого элемента даты из списка. Эти элементы необходимо создать на листе «Списки». После того, как все сделано, настроим эти поля. Кликнем на одном из них (например, на поле «Число»), и в его свойствах найдем строку RowSource. Туда внесем ссылку на диапазон со списком. Аналогичным образом настроим ссылки на всех прочих полях со списком.

Формы созданы. Теперь необходимо написать макросы

Макросы заполнения данных из форм

На каждую из кнопок формы необходимо написать макрос, выполняющий следующие команды:

  • Добавить запись – данные вносятся в соответствующую таблицу, затем все поля формы очищаются а курсор устанавливается в поле начала ввода данных (для формы «Образование» это число даты поступления, а для формы «ТрудовойСтаж» поле нименования организации.
  • Завершить ввод – данные вносятся в соответствующую таблицу и форма закрывается.
  • Отмена – форма закрывается без ввода данных.

Для ввода макроса нужно дважды кликнуть на соответствующей кнопке, чтобы открылось окно редактирования кода. Последовательно вносим код для каждой кнопки. Например ниже код, соответствующий кнопке «Добавить запись» формы «Образование». Поскольку о записях макроса я пишу уже давно, подробно объяснять каждую строку кода не буду. Достаточно будет комментариев, которые приведены мною в самом коде, скрин которого смотрите ниже. Изучить макросы для каждой кнопки вы сможете, если скачаете файл, выложенный мной в конце статьи.

Макрос запуска формы

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

Вносим сюда следующий код:

Теперь, при выборе из списка соответствующих ключевых слов, откроется форма для ввода данных, которые, в свою очередь, будут внесены в таблицы «Образование» или «Стаж». По  можете скачать получившийся файл, а в следующей статье поговорим о том, как сформировать резюме какого-либо сотрудника.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *