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

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

Базу данных по персоналу целесообразнее всего создавать в Access.

Однако не у всех эта программа имеется, да и привычнее иметь дело со знакомым инструментом. Что-ж, можно и в Excel создать приемлемый продукт.

Тем более, он будет гармонично вписываться во все прочие файлы Excel для менеджера по персоналу, которые мы создавали ранее.

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

А сейчас подумаем, что нужно предусмотреть в нашей программе:

  • Для начала – это просто место хранения данных по работающим сотрудникам. Поэтому туда должна войти вся кадровая информация (паспортные данные, сведения об образовании, стаже и т.п.);
  • Некоторые данные о сотруднике (например — места обучения, места работы)мы не сможем уместить в одну строку (то есть, конечно, сможем, но это будет неправильно с точки зрения ведения баз данных), поэтому необходимо предусмотреть возможность внесения нескольких строк, но без нарушения структуры списка и без дублирований;
  • В списке кандидатов уже внесена необходимая информация. Было бы безумным расточительством тратить время сотрудников на внесение одинаковых данных несколько раз. Данные должны импортироваться, но, при этом, необходимо допустить и занесение информации вручную;
  • Как обычно – предусмотрим возможную защиту от ошибочного ввода;
  • Неплохо было бы формировать вывод на печать резюме по сотруднику. Подумаем, как это можно будет реализовать;
  • Помимо личных данных о сотруднике, в базе должна собираться информация о развитии сотрудника в рамках организации – смена должности, повышение разряда и т.п.
  • На основании статуса «принят» или «уволен» сотрудник должен по-разному отображаться в списке. Уволенные сотрудники не должны пропадать из списков, но данные по ним должны собираться отдельно.

На этом список завершим. Все прочие кадровые моменты — ведение отпусков, больничных и т.п. — будем автоматизировать отдельным порядком, в том числе используя этот список персонала.

Создание таблицы                                

О создании таблицы много писалось на страницах этого сайта (см., например, ), поэтому просто перечислю список необходимых полей:

  1. — порядковый номер;
  2. Фамилия — фамилия сотрудника;
  3. Имя;
  4. Отчество;
  5. Дата рождения;
  6. Пол;
  7. Образование — здесь будет не только отметка об уровне образования, но и ссылка на форму ввода данных о местах обучения;
  8. Опыт работы — ссылка на ввод данных о местах работы;
  9. Дата приема — дата приема сотрудника в компанию;
  10. e-mail — адрес личной электронной почты сотрудника;
  11. Рабочий e-mail — адрес корпоративной электронной почты сотрудника;
  12. Телефон домашний;
  13. Телефон мобильный;
  14. Телефон рабочий;
  15. Департамент — допустим, компания разбита на департаменты. Соответственно, указываем департамент, к которому относится подразделение сотрудника;
  16. Отдел;
  17. Должность;
  18. Статус — например, это могут быть варианты «испытательный срок«, «принят«, «уволен«.

Дополнительные пункты можно добавлять. Поскольку таблица у нас будет «Умная», то дополнение колонок не повлияет на формулы и макросы, которые мы будем использовать.

Примерно такая таблица должна получится.

В прошлых списках, которые мы создавали ранее, порядковый номер строки приходилось вводить вручную. Для «Умной таблицы», которая автоматически добавляет формулу в новую строку, логичнее было бы вставить функцию, которая указывает порядковый номер. Это функция СТРОКА. Она указывает порядковый номер строки указанной ячейки. Поскольку первая строка таблицы начинается не с первой строки листа, то внесем формулу =СТРОКА(A1). Таким образом, при добавлении новой строки, следующая формула будет указывать уже на ячейку A2 и так далее, отображая, тем самым, тот порядковый номер, который нас интересует.

Импорт данных из таблицы учета кандидатов

Давайте подумаем, каким образом будет удобнее давать команду на перенос данных из таблицы кандидатов в таблицу сотрудников? Вариантов два:

  1. В момент, когда в таблице кандидатов вносится статус «принят»;
  2. По команде из таблицы со списком сотрудников.

На мой взгляд, первый вариант будет и логичнее и удобнее. Мы выбираем кандидата, устанавливаем ему статус «принят» и, тем самым, запускаем макрос экспорта данных об этом кандидате в таблицу принятых сотрудников. Так и поступим. Вернемся к созданному ранее файлу «Список кандидатов«.

Для запуска макроса при вводе определенного значения в ячейку необходимо записать специальный код в модуль того листа, где находится ячейка. Посмотрите на рисунок — ранее мы все коды писали в специально созданном модуле на макросов. Сейчас же кликаем дважды на имени листа, и заносим туда следующее:

«Экспорт_данных» это имя того макроса, который должен запуститься. Ранее мы уже писали код, который данные из одного файла копирует в другой файл (см. например, статью «»). Слегка модифицируем его, ведь нам нужно копировать не в тот файл, из которого запускается макрос, а, наоборот — из него в другой. А конце, предлагаю, закрыть файл «Список кандидатов«, а активировать для дальнейшего редактирования файл «Список сотрудников«.

Получается такой код:

В номерах колонок сориентироваться будет проще, если изменить стиль на R1C1. Для этого открываем Параметры Excel, жмем на пункт меню «Формулы» и ставим галочку напротив пункта «Стиль ссылок R1C1«. Теперь все колонки пронумерованы.

При изменении структуры таблиц кандидатов и сотрудников, следует изменить номера колонок в соответствующих ссылках, а именно:

  • Если изменена структура таблицы «Список сотрудников«, то во всех командах Offset меняем второе число на номер колонки минус 1 (в нашем коде Offset, это смещение от первой колонки, поэтому такое соответствие);
  • Если изменена структура таблицы «Список кандидатов«, то во всех командах Cells меняем второе число на новый номер колонки.

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

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

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