Реестр сотрудников в excel

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

Для тех, кто выполняет так много задач одновременно, очень важно построить систему, которая бы позволяла оставаться организованными и не упускать из виду ни одной детали. Для этого можно использовать шаблоны Excel. Но как найти и выбрать самые лучшие шаблоны Excel, которые соответствовали бы вашим целям? Мы просмотрели и изучили ключевые шаблоны Excel для отдела кадров и предлагаем вам небольшое описание каждого из шаблонов, а также ссылку для скачивания. 

Мы также расскажем, как использовать шаблоны для отдела кадров в Smartsheet, инструменте для совместной работы на основе электронных таблиц, с помощью которого можно, сотрудничая с коллегами, ещё больше, чем в Excel, упростить процессы управления персоналом.

Средство отбора кандидатов на вакантную должность

Специалисты по управлению персоналом должны отслеживать и держать под контролем многочисленные получаемые резюме, сопроводительные письма, заявления и сведения о лицах, претендующих на открытые вакансии. В зависимости от размера компании и текущего плана привлечения новых сотрудников, это может означать огромный объём работы. Использование средства отбора кандидатов на вакантную должность поможет вам держать ключевые сведения о кандидатах и документацию в порядке, а также обеспечить положительный опыт для кандидатов и других сотрудников, участвующих в процессе найма. С помощью этого шаблона вы можете отслеживать контактные данные кандидатов, указывать заданные им вопросы и полученные ответы телефонных интервью, добавлять текущий статус найма, комментарии, дальнейшие шаги и многое другое.

 Загрузить шаблон средства отбора кандидатов на вакантную должность в Excel

Создать средство отбора кандидатов на вакантную должность в Smartsheet

Keep your employees connected, informed, and engaged with Smartsheet

Smartsheet is a cloud-based platform that enables HR teams to easily manage everything from job applicant tracking to new hire onboarding and employee performance reviews. Watch this demo video to see why HR teams around the world rely on Smartsheet.

Start your free 30-day trial today

Учёт посещаемости сотрудников

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

 Загрузить шаблон учёта посещаемости сотрудников в Excel

 Создать шаблон учёта посещаемости сотрудников в Smartsheet

Анализ целей и эффективности работы сотрудников

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

 Загрузить шаблон анализа целей и эффективности работы сотрудников в Excel

 Создать шаблон анализа целей и эффективности работы сотрудников в Smartsheet

Рабочее расписание сотрудника

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

 Загрузить шаблон рабочего расписания сотрудников в Excel

 Создать ваше ​​рабочее расписание сотрудника в Smartsheet

Учёт рабочего времени сотрудника

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

 Загрузить шаблон учёта рабочего времени сотрудника в Excel

 Создать шаблон учёта рабочего времени сотрудника в Smartsheet

План адаптации нового сотрудника

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

 Загрузить шаблон плана адаптации нового сотрудника в Excel

 Создать план адаптации нового сотрудника в Smartsheet

Рабочее расписание по месяцам

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

 Загрузить шаблон рабочего расписания по месяцам на 2016 год в Excel

 Создать шаблон рабочего расписания по месяцам на 2016 год в Smartsheet

Список документов для приёма на работу

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

 Загрузить список документов для приёма на работу в Excel

 Создать список документов для приёма на работу в Smartsheet

Расчётная ведомость

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

 Загрузить шаблон расчётной ведомости в Excel

 Создать шаблон расчётной ведомости в Smartsheet

Справка о заработной плате

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

 Скачать шаблон справки о заработной плате в Excel

 Создать шаблон справки о заработной плате в Smartsheet

План привлечения новых сотрудников

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

 Загрузить шаблон плана привлечения новых сотрудников в Excel

 Создать план привлечения новых сотрудников в Smartsheet

План переходного периода

Иногда в компании возникает необходимость перевода сотрудника с одной должности на другую или с одного проекта на другой, в зависимости от имеющихся ресурсов. Тем не менее, даже найдя нового сотрудника для первоначальной должности, скорее всего, вы не хотите потерять знания и информацию, которые накопил предыдущий сотрудник. План переходного периода при переходе сотрудника с одной должности на другую внутри компании помогает уменьшить объём утерянной информации. Используйте этот шаблон плана переходного периода, чтобы помочь сотруднику, ранее занимавшему должность, обучить и передать знания новому сотруднику. Шаблон позволяет указывать задачи, цели, предположения, даты начала, сроки выполнения и многое другое.

 Загрузить шаблон плана переходного периода в Excel

 Создать шаблон плана переходного периода в Smartsheet

Расписание отпусков сотрудников

На протяжении всего года вашим сотрудникам понадобятся отпускные дни, чтобы восстановить силы и оставаться продуктивными. Однако, как же вам убедиться, что все ваши задачи продолжают выполняться, даже когда кто-то из сотрудников находится вне офиса? Используйте простой шаблон расписания отпусков, чтобы отслеживать, когда сотрудники будут находится в отпуске, сколько отпускных дней они будут брать, а также иметь под рукой подробные сведения о том, будут ли эти сотрудники доступны во время отпуска. 

 Загрузить шаблон расписания отпусков сотрудников в Excel

 Создать шаблон графика расписания отпусков сотрудников в Smartsheet

Рабочее расписание на неделю

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

 Загрузить шаблон рабочего расписания на неделю в Excel

 Создать шаблон рабочего расписания на неделю в Smartsheet

Рабочее расписание

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

 Загрузить шаблон рабочего расписания в Excel

 Создать шаблон рабочего расписания в Smartsheet

Узнайте, как работают шаблоны для отдела кадров в Smartsheet

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

Диаграммы Ганта автоматически создаются и изменяются, когда вы вносите изменения в данные, поэтому вам не требуется выполнять особую настройку каждый раз, когда вы хотите визуально отобразить процесс выполнения задач. Вы можете легко переключаться между представлением сети, диаграммы Ганта и календаря, предоставляя доступ членам команды или внешним сотрудникам без необходимости отправлять письма по электронной почте со сложными статическими таблицами.

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

Найдите лучший шаблон для отдела кадров в Smartsheet

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

Узнайте, как без труда использовать шаблон для отдела кадров. Попробуйте бесплатную 30-дневную версию Smartsheet.

Попробуйте SmartSheet бесплатно

Здравствуйте, друзья сайта itswat.ru. Людям определённых профессий приходится работать с большим количеством всевозможных документов – внутренних, входящих, исходящих и других. В крупных организациях, где число документов гигантское, система их учёта чётко отлажена. Для создания электронных реестров используются профессиональные программы, лицензия на которые стоит прилично. Но что делать небольшой, только родившейся и ещё не раскрученной компании, или скромному предпринимателю? Документов не слишком много, но они есть и все очень важные. Их потеря может выйти боком, а платить ежемесячно за профессиональное ПО – лишние и пока неуместные траты. Мой ответ – используйте Excel и с помощью нескольких функций систематизируйте и учитывайте свои «важные бумажки». Итак, тема данного материала — как создать реестр документов в Excel. Дело не сложное, но муторное и с множеством нюансов, поэтому расскажу пошагово с картинками.

Содержание

1. Что можно поместить в реестр?
2. Пошаговая инструкция
2.1. Папка
2.2. Название
2.3. Документ

Что можно поместить в реестр?

Реестр в Excel можно создать для чего угодно, например, для договоров с партнёрами, клиентами или подрядчиками. Ниже вы можете увидеть картинку – шаблон таблицы с заголовками столбцов, отражающими данные, которые необходимо учесть.

Вы можете сделать также реестр платежей. Тоже прикреплю фото примера, может, кому-нибудь пригодится.

Я же буду создавать реестр текстовых документов, содержащих описания товаров, которые я когда-то составлял по просьбе одной бизнесвумен, по чистой случайности, завалявшиеся на моём ноутбуке. Делаю я это не по необходимости, а для того, чтобы наглядно продемонстрировать вам весь процесс. Это и будет пошаговая инструкция. Уяснив принципы, вы легко сможете адаптировать её под себя, изменив шапку таблицы и выбрав только те действия, которые понадобятся именно вам. Я использую Excel 2007, но версия не принципиальна. Вы можете работать в Excel 2010 или более поздних годов выпуска, ничего не потеряете, так как во всех редакциях используемые мной функции также присутствуют, а разделы меню и команды находятся там же, где и раньше.

Пошаговая инструкция

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

  1. Создаём новый документ, задаём ему имя и сохраняем как «Книга с поддержкой макросов».

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

  1. Заполняем названия заголовков. В моём случае это «Номер», «Заказчик», «Папка», «Название», «Документ» и «Директория».

  1. Приступаем к заполнению столбцов.
  2. Столбец «Номер» заполняется просто. Необходимо ввести в первую строку значение 1, а во вторую – 2, выделить обе заполненные ячейки, зацепиться за маленький чёрный квадратик в правом нижнем углу выделенной области и протащить его вниз на нужное количество строк. В нижних ячейках автоматически проставятся значения от 1 до …(зависит от нас).

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

  1. В столбце «Папка» я хочу видеть адрес папки, в которой располагается конкретный документ и при этом сделать его ссылкой, при нажатии на которую Excel будет перебрасывать меня в эту папку. Для этого я воспользуюсь функцией «ГИПЕРССЫЛКА». Подробнее опишу ниже.
  2. В столбце «Название» мне нужно отобразить имена документов, но вводить их все вручную очень долго. В Excel существует небольшая хитрость, позволяющая в разы ускорить процесс и автоматически заполнить ячейки названиями всех документов, находящихся в указанной папке. Это возможно благодаря функции «Файлы», ищите алгоритм чуть ниже.
  3. Столбец «Документ» будет содержать рабочую ссылку на нужный файл, нажатие на которую спровоцирует его открытие. Как это сделать, ищите чуть ниже.
  4. Столбец «Директория» — это всё тот же адрес папки, но без гиперссылки. Он нужен для того, чтобы заполнить предыдущие столбцы.

Папка

Чтобы получить активный адрес папки, где расположен нужный документ, воспользуемся функцией «Гиперссылка»:

  1. Ставим курсор в первую ячейку соответствующего столбца.
  2. Копируем адрес нужной папки.

  1. Вставляем его сразу в «Директорию», он пригодится в дальнейшем.

  1. Нажимаем в строке значений на fx и находим нужную функцию или вписываем вручную =ГИПЕРССЫЛКА(«адрес папки»).

  1. Ещё один способ, на мой взгляд, самый удобный – щёлкаем в нужной ячейке ПКМ (правой кнопкой мыши), в меню выбираем команду «Гиперссылка», в открывшемся мастере отыскиваем нужную папку и подтверждаем действие.

  1. Так придётся делать для каждого документа, но если учесть, что большое количество их расположено в одной и той же папке, то процесс не должен отнять много времени. Для последующих документов, являющихся соседями первого по директории, адрес можно просто скопировать.

Название

С названием немного сложнее:

  1. Добавляем к адресу, помещённому нами в «Директорию» ещё один обратный слеш и звёздочку, то есть *.

  1. Выбираем раздел меню «Формулы», функцию «Диспетчер имён».

  1. А в её мастере команду «Создать».

  1. Задаём имя, в моём случае это будет «Название».

  1. В строке «Диапазон» пишем =ФАЙЛЫ( и щёлкаем курсором по соответствующей ячейке в столбце «Директория», закрываем скобку).

  1. Нажимаем ОК и «Закрыть».
  2. Ставим курсор в первую ячейку столбца.
  3. Вписываем туда формулу =ИНДЕКС(Название;СТРОКА()-1), где Название – это имя, заданное нами на четвёртом шаге данного алгоритма, а -1 обозначает, что данная ячейка стоит второй в столбце.
  4. Нажимаем «Энтер» и видим, что в столбце появились имена всех файлов, расположенных в указанной папке.

  1. Таким методом можно поместить в реестр названия не всех файлов, а выборочно в зависимости от формата. Для этого предварительно в адресе папке, указываемом в столбце «Директория», после звёздочки следует написать расширение файла, например, *docx, xls или jpeg. Это актуально, когда в одной папке находятся вперемешку файлы разных форматов – таблицы, картинки, текстовые документы и любые другие.

Если что-то вам по моим картинкам и описанию не понятно, то посмотрите следующую подробную инструкцию в формате видео.

Документ

Друзья, столбец «Документ» содержит то же название, но являющееся ссылкой. Чтобы этого добиться, следует проделать все те же действия, что и в предыдущем алгоритме до шага 8. Мы их опустим, так как повторно делать одно и то же не нужно. Теперь немного усложняем формулу. Она примет вид =ГИПЕРССЫЛКА(ИНДЕКС(Название;СТРОКА()-1)). После её размещения и ввода строки заполнятся теми же названиями, но являющими собой активные ссылки.

Вот, кажется, и всё. Старался описать алгоритм наиболее подробно. Меня ещё недавно спросили, как создать реестр сведений о доходах физических лиц, то есть формировать справки 2-НДФЛ и вести их учёт в программе «Налогоплательщик ЮЛ». Тема, в общем, та же, но программа другая, поэтому я решил посвятить ей отдельный материал. До скорых встреч.

Читайте также:

Цитата
Сообщение от toypypp
Посмотреть сообщение

как это сделать в моем задании

Думаю что ваше задание надо делать средством Excel, автофильтр.
1. В заголовке столбца «Адрес» нажмите кнопку со стрелкой вниз, уберите галочку напротив (Выделить все), установите напротив <Пятигорск>, нажмите ОК.
2. В заголовке столбца «Телефон» нажмите кнопку со стрелкой вниз, зайдите в <Текстовые фильтры>, выберите <начинается с…>, в окошке напротив установите 34, нажмите ОК.
3. В заголовке столбца «Дата рождения» нажмите кнопку со стрелкой вниз, зайдите в <Фильтры по дате>, выберите <До…>, в окошке напротив установите 01.01.1992, нажмите ОК.
4. В заголовке столбца «Дата найма» нажмите кнопку со стрелкой вниз, зайдите в <Фильтры по дате>, выберите <После….>, в окошке напротив установите 16.04.2000, нажмите ОК.

Реестр сотрудников с подсчетом стажа работы

alexa1965

Дата: Понедельник, 22.10.2018, 15:41 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

В ячейке А14 выбираем сотрудника, далее заносим в калькулятор данные и получаем готовый бланк заседания комиссии для бухгалтерии. По конкретному сотруднику №пп 4, вносим данные в строку 11 реестра со столбца М по R и все готово. Далее по аналогии. Добавлен календарик (для кадровика нужная вещь), скрыт лист с склонением ФИО (макросы) и скрыты столбцы отображения чисел прописью, как всегда спасибо МСН.

К сообщению приложен файл:

_2.xlsb
(45.8 Kb)


Главное не быть балабастиком

Сообщение отредактировал alexa1965Понедельник, 22.10.2018, 15:44

 

Ответить

alexa1965

Дата: Пятница, 22.02.2019, 12:50 |
Сообщение № 2

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

Немного подправил. Добавил отдельный лист бланка по льготному стажу. Служба в армии считается в трудовой стаж согласно закону о трудовых пенсиях от 17 декабря 2001 года № 173-ФЗ как день за два, и помимо этого считается стажем ГГС. Изначально задано формулой. Допустим, при внесении в ячейку В18 текста «Срочная служба в ВС» стаж сотрудника умножается по этой строке на 2. К сожалению файл 150 кБайт, вынужден архивировать.

К сообщению приложен файл:

_3.rar
(36.2 Kb)


Главное не быть балабастиком

 

Ответить

alexa1965

Дата: Среда, 13.11.2019, 12:21 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

Добрый день! Подправил опять: 1. Проверка вводимых дат начала работы в калькуляторе расчета стажа (очень много некорректных записей в трудовых книжках — работа на новом месте в день увольнения а то и раньше, особенно в 90-х). 2. Изменил дату установления % надбавки на предстоящее повышение.

К сообщению приложен файл:

0183014.rar
(36.8 Kb)


Главное не быть балабастиком

 

Ответить

alexa1965

Дата: Понедельник, 17.08.2020, 14:36 |
Сообщение № 4

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

Прочитал интересную публикацию Николая Павлова на Планете и решил добавить ссылку на красивый производственный календарь в ячейку Т24. В ней выбираем нужный год и переходим по ссылке в скобках html. Так же корректно подправил дату предстоящего % увеличения.

К сообщению приложен файл:

_3.xls
(149.0 Kb)


Главное не быть балабастиком

 

Ответить

bigor

Дата: Вторник, 01.09.2020, 22:24 |
Сообщение № 5

Группа: Проверенные

Ранг: Ветеран

Сообщений: 804


Репутация:

163

±

Замечаний:
0% ±


нет

А почему, если допустим у Вас человек устроился 01.09.2020 и уволился 02.09.2020, Вы насчитываете ему только один день стажа?

Служба в армии считается в трудовой стаж согласно закону о трудовых пенсиях от 17 декабря 2001 года № 173-ФЗ как день за два

-это один из вариантов расчета пенсии, который редко используется, т.к.в 90% случаев невыгоден.

 

Ответить

alexa1965

Дата: Среда, 02.09.2020, 10:37 |
Сообщение № 6

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

-это один из вариантов расчета пенсии, который редко используется, т.к.в 90% случаев невыгоден.

Выгоден или нет не нам считать, раз положено, то надо считать…

А почему, если допустим у Вас человек устроился 01.09.2020 и уволился 02.09.2020, Вы насчитываете ему только один день стажа?

Проверьте в калькуляторе стажа, будет 2 дня…


Главное не быть балабастиком

 

Ответить

bigor

Дата: Среда, 02.09.2020, 11:45 |
Сообщение № 7

Группа: Проверенные

Ранг: Ветеран

Сообщений: 804


Репутация:

163

±

Замечаний:
0% ±


нет


Проверял, см. приложение, может не там смотрю?

К сообщению приложен файл:

2336612.png
(59.4 Kb)

 

Ответить

alexa1965

Дата: Среда, 02.09.2020, 11:57 |
Сообщение № 8

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

Проверял, см. приложение, может не там смотрю?

Считает правильно

К сообщению приложен файл:

7658004.jpg
(25.4 Kb)


Главное не быть балабастиком

 

Ответить

alexa1965

Дата: Среда, 02.09.2020, 11:59 |
Сообщение № 9

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

В самом реестре стажа до окончания рабочего дня будет показывать 1 день.


Главное не быть балабастиком

 

Ответить

alexa1965

Дата: Понедельник, 29.03.2021, 14:56 |
Сообщение № 10

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

Пересчитал для столбца AD дату наступления надбавки исходя из принципа выслуга на ГГС<1 года 0%, <2 лет 5 %, <3 лет 10%, <5 лет 15 %, <10 лет 20 %, <15 лет 30%, >=15 лет 40 %

Код

=ЕСЛИ(И(V8=0;W8=0;X8=0);»нет»;ЕСЛИ(V8<1;ДАТА.+РАЗНДАТ(ДАТА(V8;W8;X8);ДАТА(1;0;0);»d»);ЕСЛИ(V8<2;ДАТА.+РАЗНДАТ(ДАТА(V8;W8;X8);ДАТА(2;0;0);»d»);ЕСЛИ(V8<3;ДАТА.+РАЗНДАТ(ДАТА(V8;W8;X8);ДАТА(3;0;0);»d»);ЕСЛИ(V8<5;ДАТА.+РАЗНДАТ(ДАТА(V8;W8;X8);ДАТА(5;0;0);»d»);ЕСЛИ(V8<10;ДАТА.+РАЗНДАТ(ДАТА(V8;W8;X8);ДАТА(10;0;0);»d»);ДАТА.-ДАТА(V8;W8;X8)+ДАТА(15;0;0)))))))

ячейка AD8, протянуть формулу вниз.


Главное не быть балабастиком

Сообщение отредактировал alexa1965Понедельник, 29.03.2021, 14:57

 

Ответить

alexa1965

Дата: Четверг, 03.11.2022, 09:06 |
Сообщение № 11

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

Всем доброго дня! Вчера случайно заметил плавающую ошибку. А именно при подсчете количества месяцев в столбцах W и Z случается показывает 12 месяцев, при этом год добавляется. По истечении месяца все приходит в норму и отображается 0, как положено. Исправил формулами для столбца W

Код

=ЕСЛИ(ОСТАТ(СУММ(Q8;T8);12)+ЦЕЛОЕ(СУММ(R8;U8)/30)=12;0;ОСТАТ(СУММ(Q8;T8);12)+ЦЕЛОЕ(СУММ(R8;U8)/30))

и соответсвенно для Z

Код

=ЕСЛИ(ОСТАТ(СУММ(N8;W8);12)+ЦЕЛОЕ(СУММ(O8;X8)/30)=12;0;ОСТАТ(СУММ(N8;W8);12)+ЦЕЛОЕ(СУММ(O8;X8)/30))


Главное не быть балабастиком

 

Ответить

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

Учитывая постановку задачи, нам в дальнейшем понадобится учитывать уже занятые ставки, чтобы отличить их от вакантных. Для этого мы воспользуемся шестым столбцом на листе Штатное расписание. Его мы будем программно использовать для фиксации занятости ставок. Скажем, если на место секретаря в административный отдел будет принят один человек, то в шестом столбце данной строки это будет отмечено цифрой 1. Наоборот, при переводе или увольнении сотрудника единица будет вычитаться из соответствующей ячейки. Разумеется, нам в процессе работы понадобится справочный лист, который представлен на рис. 3.24. Видно, что здесь в каждом столбце листа содержится перечень данных, который будет программно использоваться для подстановки в различные списки для исключения неоднозначности выбора.

Рис. 3.23. Лист Штатное расписание

Рис. 3.23. Лист Штатное расписание

Лист Основной (рис. 3.25) будет играть роль регистра текущих данных. На этом листе мы будем фиксировать всю информацию о конкретных сотрудниках. Все данные на рис. 3.25 не видны, поэтому приведем названия тех столбцов, которые скрыты:

  • приказ о приеме №;
  • дата приказа о приеме;
  • оклад;
  • приказ об увольнении №;
  • дата приказа об увольнении.

Разумеется, ручное заполнение листа Основной не предусматривается (или не является основным в процессе работы), и мы специально разработаем удобный интерфейс, который позволит с листа Управление (рис. 3.26) воспользоваться специально разработанными формами ввода.

Рис. 3.24. Содержание справочного листа книги

Рис. 3.24. Содержание справочного листа книги

Рис. 3.25. Организация листа с информацией по сотрудникам

Рис. 3.25. Организация листа с информацией по сотрудникам

На листе Управление три кнопки, каждая из которых реализует определенное функциональное действие. Значения свойства Name у этих элементов управления относительно варианта «по умолчанию» мы изменим, и они (слева направо) выглядят следующим образом:

  • Add_People
  • Del_People
  • Tr_People

Рис. 3.26. Организация листа Управление

Рис. 3.26. Организация листа Управление

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

Рис. 3.27. Форма Включение нового сотрудника

Рис. 3.27. Форма Включение нового сотрудника

В плане программирования первая процедура, которая нам понадобится, вызывается щелчком на кнопке Принять на листе Управление. Ее программный код состоит из единственной строки (листинг 3.19).

1
2
3
4
' Листинг 3.19. Процедура, выполняемая при щелчке на кнопке Принять
Private Sub Add_People_Click()
    AddNewSotr.Show
End Sub

Таким образом, перед пользователем открывается форма, представленная на рис. 3.27. После ее заполнения щелчком на кнопке Записать информация переносится на лист с названием Основной. Перед дальнейшими программными процедурами приведем в табл. 3.2 значения свойства Name элементов управления.

Таблица 3.2. Элементы управления на форме AddNewSotr

Тип элемента управления Подпись Name
TextBox Табельный номер TabNum
TextBox Дата приема DatePriem
TextBox Фамилия Fam
TextBox Имя Ima
TextBox Отчество Otch
ComboBox Подразделение Podrazdel
ComboBox Должность Dolznost
ComboBox Вид работы VidRab
ComboBox Пол Pol
ComboBox Вид договора VidDog
TextBox Дата приказа DatePrikaz
TextBox Номер приказа NumPrikaz
TextBox Оклад Oklad
CommandButton Записать OK

Пять полей со списками должны при открытии формы должны быть заполнены данными с листа Справочный. Для этого процедуру UserForm_Activate необходимо оформить в соответствии с листингом 3.20.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
' Листинг 3.20. Процедура, выполняемая при активизации формы AddNewSotr
Private Sub Userform_Activate()
' Подсчет и заполнение списка подразделений
N = 0
While Worksheets("SPRAV").Cells(N + 2, 4).Value <> ""
    N = N + 1
Wend
Podrazdel.Clear
For i = 1 To N
    Podrazdel.AddItem Worksheets("SPRAV").Cells(i + 1, 4).Value
Next
' Очистка списка должностей
Dolznost.Clear
' Подсчет и заполнение списка вариантов работы
N = 0
While Worksheets("Справочный").Cells(N + 2, 2).Value <> ""
    N = N + 1
Wend
VidRab.Clear
For i = 1 To N
    VidRab.AddItem Worksheets("Справочный").Cells(i + 1, 2).Value
Next
N = 0
While Worksheets("Справочный").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
' Заполнение списка указания пола
Pol.Clear
For i = 1 To N
    Pol.AddItem Worksheets("Справочный").Cells(i + 1, 1).Value
Next
N = 0
While Worksheets("Справочный").Cells(N + 2, 3).Value <> ""
    N = N + 1
Wend
' Подсчет и заполнение списка вариантов договора
VidDog.Clear
For i = 1 To N
    VidDog.AddItem Worksheets("Справочный").Cells(i + 1, 3).Value
Next
' Подсчет числа сотрудников на основном листе
N = 0
While Worksheets("Основной").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
' Извлечение табельного номера последней записи
Kod = Worksheets("Основной").Cells(N + 1, 1).Value
If N <> 0 Then
' Внесение значения нового табельного номера
    TabNum.Text = Kod + 1
End If
End Sub

Кроме заполнения полей со списками, процедура, представленная в листинге 3.20, позволяет выполнить еще одно функциональное действие. Поле Табельный номер на рис. 3.27, разумеется, должно быть при открытии формы автоматически заполнено исходя из табельного номера предыдущего сотрудника. Для этого мы в строке Kod = Worksheets("Основной").Cells(N + 1, 1).Value извлекли значение из первого столбца последней заполненной строки. После этого увеличили на единицу извлеченное значение и внесли результат в текстовое окно TabNum.

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

Перейдем теперь к рассмотрению действий пользователя при работе с формой. Так, после выбора подразделения в элементе управления Podrazdel элемент управления Dolznost должен заполняться только должностями из штатного расписания (для каждого подразделения они свои). В листинге 3.21 показана необходимая для этого процедура.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
' Листинг 3.21. Обработка щелчка на поле со списком подразделений
Private Sub Podrazdel_Click()
Dolznost.Clear
' Подсчет числа записей в штатном расписании
N = 0
While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
Next
For i = 1 To N
If Podrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value Then
' Если подразделение совпадает с указанным, то
' должность заносится в список
Dolznost.AddItem Worksheets("Штатное расписание").Cells(i + 1, 2).Value
End If
Next
End Sub

Заполнив остальные поля на рис. 3.27, пользователь может щелчком на кнопке Записать внести информацию на лист Основной. Текст необходимой для этого программной процедуры представлен в листинге 3.22.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
' Листинг 3.22. Обработка щелчка на кнопке Записать на форме
Private Sub OK_Click()
' Подсчет числа записей на листе Основной
N = 0
While Worksheets("Основной").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
Worksheets("Основной").Cells(N + 2, 1).Value = TabNum.Text
Worksheets("Основной").Cells(N + 2, 2).Value = Fam.Text
Worksheets("Основной").Cells(N + 2, 3).Value = Ima.Text
Worksheets("Основной").Cells(N + 2, 4).Value = Otch.Text
Worksheets("Основной").Cells(N + 2, 5).Value = DatePriem.Text
Worksheets("Основной").Cells(N + 2, 6).Value = Dolznost.Text
Worksheets("Основной").Cells(N + 2, 7).Value = Podrazdel.Text
Worksheets("Основной").Cells(N + 2, 8).Value = Pol.Text
Worksheets("Основной").Cells(N + 2, 9).Value = VidRab.Text
Worksheets("Основной").Cells(N + 2, 10).Value = NumPrikaz.Text
Worksheets("Основной").Cells(N + 2, 11).Value = DatePrikaz.Text
Worksheets("Основной").Cells(N + 2, 12).Value = Oklad.Text
' Фрагмент коррекции штатного расписания
N = 0
While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
For i = 1 To N
If Podrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _
And Worksheets("Штатное расписание").Cells(i + 1, 2).Value = _
Dolznost.Text Then
' Шестой столбец листа используется для учета занятых должностей
Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _
CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) + 1
End If
Next
MsgBox ("Информация внесена")
Hide
End Sub

Кроме внесения новой информации на лист Основной, процедура, представленная в листинге 3.22, отмечает заполнение ставки на листе Штатное расписание. Для этого используется шестой столбец листа Штатное расписание. И при принятии нового человека на конкретную должность в определенной строке шестого столбца производится добавление единицы. Результат продемонстрирован на рис. 3.28.

Рис. 3.28. Отметка занятых должностей

Рис. 3.28. Отметка занятых должностей

Учитывая рассмотренную возможность учета занятых ставок, следует скорректировать процедуру (см. листинг 3.21), выполняемую по щелчку на поле со списком подразделений. Этот модернизированный вариант представлен в листинге 3.23, и он позволяет исключать уже занятые должности (в списке остаются только вакантные ставки).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
' Листинг 3.23. Обработка щелчка на списке подразделений на форме (вариант 2)
Private Sub Podrazdel_Click()
Dolznost.Clear
N = 0
While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
For i = 1 To N
If Podrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _
And (Worksheets("Штатное расписание").Cells(i + 1, 3).Value) - _
CInt(Worksheets("Штатное расписание").Cells(i + 1, 6)) > 0 Then
Dolznost.AddItem Worksheets("Штатное расписание").Cells(i + 1, 2).Value
End If
Next
End Sub

Здесь вместе с проверкой подразделения еще проверяется условие наличия ставки в указанном подразделении:

1
2
(Worksheets("Штатное расписание").Cells(i + 1, 3).Value) - _
CInt(Worksheets("Штатное расписание").Cells(i + 1, 6)) > 0

Таким образом, необходимый «функционал» для внесения новых сотрудников обеспечен; перейдем к другой форме, Yvolnenie (рис. 3.29), которая позволит производить необходимые технические действия для увольнения сотрудников.

Рис. 3.29. Форма для реализации удаления сотрудников

Рис. 3.29. Форма для реализации удаления сотрудников

Технически форма для увольнения открывается по щелчку на кнопке Уволить, расположенной на листе Управление. В этом случае необходимо оформить процедуру Del_People_Click() в виде, представленном в листинге 8.24.

1
2
3
4
' Листинг 3.24. Обработка щелчка на кнопке Уволить на листе Управление
Private Sub Del_People_Click()
    Yvolnenie.Show
End Sub

На форме (рис. 3.29) расположено семь элементов управления, при этом два из них являются чисто пояснительными и представляют надписи (Label). В верхней части формы расположено поле со списком (Name — Spk), в которое заносятся все имеющиеся сотрудники. Пользователю после выбора конкретного специалиста требуется указать в текстовых окнах номер приказа на увольнение (Name — NumPrikaz) и его дату (Name — DatePrikaz). После этого щелчком на кнопке Внести информацию (Name — OK) на листе Основной фиксируется факт увольнения. Также изменения производятся и на листе Штатное расписание — одна из должностей переходит в категорию вакантных. В плане рассмотрения описанных функциональных действий первая процедура, которая нам понадобится, выполняется при активизации формы (листинг 3.25).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
' Листинг 3.25. Процедура, выполняемая при активизации формы на рис. 3.29
Private Sub UserForm_Activate()
N = 0
While Worksheets("Основной").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
Spk.Clear
For i = 1 To N
' Извлечение фамилии, имени и отчества сотрудника
a = Worksheets("Основной").Cells(i + 1, 2).Value + " " + _
Worksheets("Основной").Cells(i + 1, 3).Value + " " + _
Worksheets("Основной").Cells(i + 1, 4).Value
' Добавление ФИО в список
Spk.AddItem a
Next
End Sub

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

Технический момент связан с тем, что мы можем таким образом выбрать уже ранее уволенного сотрудника (его данные не пропадают из базы). Здесь можно предложить несколько вариантов программной реализации для исключения подобной ситуации. Мы используем один из наиболее несложных. Так, мы обеспечим, чтобы при выборе фамилии сотрудника в поле со списком в текстовые поля NumPrikaz и DatePrikaz заносилась информация из 13-го и 14-го столбцов листа Основной. В этих столбцах и размещается информация об увольнении. В листинге 3.26 приведена процедура, необходимая для выполнения данного функционального действия.

1
2
3
4
5
' Листинг 3.26. Обработка щелчка на поле со списком на рис. 3.29
Private Sub Spk_Click()
NumPrikaz.Text = Worksheets("Основной").Cells(Spk.ListIndex + 2, 13).Value
DatePrikaz.Text = Worksheets("Основной").Cells(Spk.ListIndex + 2, 14).Value
End Sub

Теперь при попытке повторного увольнения сотрудника мы это увидим — увидим номер и дату приказа об увольнении. На данном листе осталось разработать процедуру, которая позволила бы вносить информацию об увольнении на лист Основной, а также корректировать штатное расписание (листинг 3.27).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
' Листинг 3.27. Обработка щелчка на кнопке Внести информацию
Private Sub OK_Click()
' Вычисляется номер строки, где расположена информация о сотруднике
NomStr = Spk.ListIndex + 2
' Внесение информации о номере приказа и дате увольнения
Worksheets("Основной").Cells(NomStr, 14).Value = DatePrikaz.Text
Worksheets("Основной").Cells(NomStr, 13).Value = NumPrikaz.Text
' Извлечение информации о подразделении и должности сотрудника
Podrazdelenie = Worksheets("Основной").Cells(NomStr, 7).Value
Dolznost = Worksheets("Основной").Cells(NomStr, 6).Value
' Подсчет числа записей в штатном расписании
N = 0
While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
For i = 1 To N
If Podrazdelenie = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _
And Worksheets("Штатное расписание").Cells(i + 1, 2).Value = _
Dolznost Then
' Коррекция штатного расписания
Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _
CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) - 1
End If
Next
MsgBox ("Информация введена")
End Sub

Во второй части процедуры OK_Click() производится коррекция штатного расписания. На рис. 3.28 это отражено в уменьшении на единицу количества занятых должностей.

Рис. 3.30. Форма Perevod для перевода сотрудников

Рис. 3.30. Форма Perevod для перевода сотрудников

Таким образом, мы обеспечили прием и увольнение с работы. На листе Управление последним нерассмотренным сервисом является перевод сотрудников с одной должности на другую. Для этого мы разработаем форму, представленную на рис. 3.30. Отображение ее на экране обеспечивает процедура (листинг 3.28) обработки щелчка на кнопке Перевод на листе Управление.

1
2
3
4
' Листинг 3.28. Обработка щелчка на кнопке Перевод листа Управление
Private Sub Tr_People_Click()
    Perevod.Show
End Sub

На форме Perevod три элемента управления типа ComboBox (поле со списком) с соответствующими надписями (элементы Label). Два элемента управления типа Label используются в дальнейших программных процедурах. Они выделены более светлым оттенком и снабжены соответствующими надписями (которые также представляют элементы типа Label). И еще один элемент управления — CommandButton. В табл. 3.3 приведены значения свойства Name данных элементов на форме. Первая процедура, которую мы рассмотрим, выполняется при активизации формы. Ее действия сводятся к заполнению полей со списками, а сам текст приведен в листинге 3.29.

Таблица 3.3. Элементы управления на форме Perevod

Тип элемента управления Подпись Name
ComboBox ФИО Spk
ComboBox Новое подразделение NewPodrazdel
ComboBox Новая должность NewDolznost
Label Подразделение StPodr
Label Должность StDolznost
CommandButton Перевести OK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
' Листинг 3.29. Процедура, выполняемая при активизации формы
Private Sub UserForm_Activate()
' Подсчет числа сотрудников
N = 0
While Worksheets("Основной").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
' Очистка и последующее заполнение списка сотрудников
Spk.Clear
For i = 1 To N
a = Worksheets("Основной").Cells(i + 1, 2).Value + " " + _
Worksheets("Основной").Cells(i + 1, 3).Value + " " + _
Worksheets("Основной").Cells(i + 1, 4).Value
Spk.AddItem a
Next
' Заполнение списка подразделений
N = 0
While Worksheets("Справочный").Cells(N + 2, 4).Value <> ""
    N = N + 1
Wend
NewPodrazdel.Clear
For i = 1 To N
    NewPodrazdel.AddItem Worksheets("Справочный").Cells(i + 1, 4).Value
Next
' Заполнение списка должностей
While Worksheets("Справочный").Cells(N + 2, 5).Value <> ""
    N = N + 1
Wend
NewDolznost.Clear
For i = 1 To N
    NewDolznost.AddItem Worksheets("Справочный").Cells(i + 1, 5).Value
Next
End Sub

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

1
2
3
4
5
6
7
8
9
10
11
' Листинг 3.30. Обработка щелчка на поле со списком сотрудников
Private Sub Spk_Click()
If Worksheets("Основной").Cells(Spk.ListIndex + 2, 14).Value = "" Then
' Внесение информации о старом подразделении
StPodr.Caption = Worksheets("Основной").Cells(ListIndex + 2, 7).Value
' Внесение информации о старой должности
StDolznost.Caption = Worksheets("Основной").Cells(Spk.ListIndex + 2, 6).Value
Else
StPodr.Caption = "Уволен"
End If
End Sub

Следующая процедура (листинг 3.31) позволяет внести в поле со списком NewDolznost только вакантные должности в указанном подразделении.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
' Листинг 3.31. Обработка щелчка на поле со списком подразделений
Private Sub NewPodrazdel_Click()
' Очистка поля со списком должностей
NewDolznost.Clear
' podschet
N = 0
While Worksheets("Штатное расписание").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
For i = 1 To N
If NewPodrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _
And (Worksheets("Штатное расписание").Cells(i + 1, 3).Value - _
CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value)) > 0 Then
' Добавление в список вакантной должности
NewDolznost.AddItem Worksheets("Штатное расписание").Cells(i + 1, 2).Value
End If
Next
End Sub

На рис. 3.31 продемонстрирован вариант заполнения формы благодаря разработанным процедурам.

Рис. 3.31. Заполненная форма перевода сотрудника

Рис. 3.31. Заполненная форма перевода сотрудника

Теперь ключевая процедура (листинг 3.32), которая выполняется по щелчку на кнопке Перевести. Она производит изменения на листах Основной и Штатное расписание.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
' Листинг 3.32. Обработка щелчка на кнопке Перевести на рис. 3.31
Private Sub OK_Click()
' Вычисление номера строки, где располагается информация по сотруднику
Nom = Spk.ListIndex + 2
' Подсчет числа записей на листе Основной
N = 0
While Worksheets("Основной").Cells(N + 2, 1).Value <> ""
    N = N + 1
Wend
' Внесение информации о новых должности и подразделении
Worksheets("Основной").Cells(Nom, 6).Value = NewDolznost.Text
Worksheets("Основной").Cells(Nom + 2, 7).Value = NewPodrazdel.Text
' Подсчет числа строк в штатном расписании
NN = 0
While Worksheets("Штатное расписание").Cells(NN + 2, 1).Value <> ""
    NN = NN + 1
Wend
For i = 1 To NN
If StPodr.Caption = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _
And Worksheets("Штатное расписание").Cells(i + 1, 2).Value = _
StDolznost.Caption Then
' Фиксирование освобождаемой должности
Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _
CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) - 1
Exit For
End If
Next
For i = 1 To NN
If NewPodrazdel.Text = Worksheets("Штатное расписание").Cells(i + 1, 1).Value _
And Worksheets("SHTAT").Cells(i + 1, 2).Value = NewDolznost.Text Then
' Фиксирование занимаемой должности
Worksheets("Штатное расписание").Cells(i + 1, 6).Value = _
CInt(Worksheets("Штатное расписание").Cells(i + 1, 6).Value) + 1
Oklad = Worksheets("Штатное расписание").Cells(i + 1, 4).Value
Worksheets("Основной").Cells(Nom, 12).Value = Oklad
Exit For
End If
Next
MsgBox ("Перевод выполнен")
End Sub

Результат работы рассмотренных процедур показан на рис. 3.32.

Рис. 3.32. Результат изменений в штатном расписании

Рис. 3.32. Результат изменений в штатном расписании

Понравилась статья? Поделить с друзьями:
  • Реестр служебных записок в excel
  • Реестр розничных цен скачать в excel рб
  • Реестр путевых листов образец excel
  • Реестр путевых листов для excel
  • Реестр промышленной продукции произведенной на территории российской федерации в excel скачать