Шаг 232.
VBA в MSExcel.
Оформление командировочных удостоверений. Командировочное удостоверение

    На этом шаге мы рассмотрим особенности создания бланка командировочного удостоверения.

Создание формы удостоверения

    При создании формы командировочного удостоверения (рисунок 1) на рабочем листе КомандировочноеУдостоверение, не следует пренебрегать объединением ячеек и переносом текста в ячейках с формулами, созданием границ различной толщины (линии ограничивающие границы ячеек), применением различных шрифтов и их размеров.


Рис.1. Форма командировочного удостоверения

    Эти параметры можно ввести или изменить с помощью диалогового окна Формат ячеек, вызываемого командой Формат | Ячейки.

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

Формулы поиска информации

    Функция, на которой базируется автоматизация заполнения командировочного удостоверения - это функция поиска ВПР.

Описание формулы поиска ФИО
Рассмотрим формулу, введенную в ячейку Е3 (Фамилия, имя, отчество):
  =ВПР(L1;'ЖурналРегистрацииКУ'!A4:J200;2;ЛОЖЬ)
Функция ВПР ищет значение, заданное в первом аргументе, в крайнем левом столбце диапазона, указанного во втором аргументе. Возвращает она значение из строки, содержащей найденное в первом аргументе значение, но находящегося в столбце, который задан в третьем аргументе функции. Четвертый аргумент - логическое выражение ЛОЖЬ, задается для поиска точно соответствующей информации, введенной в первом аргументе.

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

Остальные формулы
Остальные формулы (кроме формулы в ячейке D5) отличаются от описанной выше только номером столбца в третьем аргументе. Значения аргументов:
  • 5 - ячейка F7 (пункт назначения);
  • 6 - ячейка D9 (наименование предприятия);
  • 11 - ячейка G12 (срок командировки);
  • 12 - ячейка D13 (цель командировки);
  • 7 - ячейка G15 (приказ от);
  • 13 - ячейка I16 (паспорт серии);
  • 8 - ячейка В11 (дата и номер командировки).

Ввод текста места работы и должности
Формула в ячейке D5 использует комбинацию функций СЦЕПИТЬ, ВПР, а также ссылку и ввод текстовых данных.
  =СЦЕПИТЬ(ЖурналРегистрацииКУ!A1;", ";ВПР(L1;ЖурналРегистрацииКУ!A4:J200;3;ЛОЖЬ);
    ", "; ВПР(L1;ЖурналРегистрацииКУ!A4:J200;4;ЛОЖЬ))
По ссылке на ячейку А1 листа ЖурналРегистрацииКУ осуществляется ввод текста наименования предприятия.

    Первая функция ВПР производит поиск должности работника, а вторая - наименования отдела, в котором он работает.

    Все определенные текстовые значения (предприятие, должность и наименование отдела) соединены функцией СЦЕПИТЬ с разделением между собой знаками запятых и пробелами.

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

    Обратная сторона командировочного удостоверения расположена на том же рабочем листе - КомандировочноеУдостоверение, ниже области занимаемого лицевой стороной документа (рисунок 2).


Рис.2. Обратная сторона командировочного удостоверения

    Деталь, на которой следует остановиться - это заполнение прописью даты выбытия. На рисунке 2 в строке формул видно, что в ячейке В25 находится ссылка на ячейку N25, которая является выходом модуля формирования даты прописью.

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


Рис.3. Модуль написания даты прописью с формулами

    В свою очередь поиск этой даты осуществляется формулой, введенной в ячейку L25 с помощью функции ВПР по порядковому номеру, введенному в ячейку L1.

    Модуль имеет три ячейки:

Создание элементов управления

    Созданный генератор командировочных удостоверений имеет недостаток - для просмотра на листе КомандировочноеУдостоверение записей, введенных в журнал регистрации, каждый раз необходимо вводить в ячейку L1 с клавиатуры порядковый номер этой записи в журнале. А это не совсем удобно.

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

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

    Для создания элементов управления используется панель инструментов Формы (рисунок 4), для активизации которой выполните команду Вид | Панели инструментов | Формы.


Рис.4. Панель инструментов Формы

    Для внедрения элемента управления Список щелкните левой кнопкой мыши на панели Формы по указателю элемента управления Список. Указатель мыши, после перевода его на поле рабочего листа, приобретет вид крестика. Выбрав место расположения элемента управления на листе, и нажав левую кнопку мыши, очертите контур будущего элемента управления (рисунок 5).


Рис.5. Элемент управления Список

    Для управления с помощью элемента управления Список содержимым ячейки L1, поместите указатель мыши на элемент управления и нажмите правую кнопку мыши. В появившемся контекстном меню выделите команду Формат объекта, что вызовет появление диалогового окна Формат элемента управления, в котором перейдите на вкладку Элемент управления (рисунок 6). Это окно вызывается также комбинацией клавиш Ctrl+1.


Рис.6. Диалоговое окно Формат элемента управления для элемента управления Список

    Поле Формировать список по диапазону предназначено для ввода диапазона, по которому будет формироваться список по этому элементу управления. Применимо к нашему приложению в этом поле должен быть указан диапазон журнала регистрации командировочных удостоверений, в котором формируются порядковые номера записей, содержащих данные командировочных удостоверений. Для этого поместите курсор в поле Формировать список по диапазону и на рабочем листе ЖурналРегистрацииКУ выделите область ячеек в столбце А, в котором будут расположены порядковые номера записей командировочных удостоверений, например $А$4:$А$200. В этом поле можно указать не только область формирования порядковых номеров, но и любую другую область журнала регистраций, но тогда этот список не будет иметь желательную информационность, а будет отражать, например, населенные пункты назначения или место работы сотрудника.

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

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

Элемент управления Счетчик

    Рядом с элементом Список поместите элемент управления Счетчик (рисунок 7).


Рис.7. Элемент управления Счетчик

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

    иалоговое окно Формат элемента управления (рисунок 8) для элемента управления Счетчик, несколько отличается от предыдущего.


Рис.8. Диалоговое окно Формат элемента управления

    В поле Начальное значение отображается значение, которое содержится в этот момент времени в ячейке L1. В поле Минимальное значение введите начальный номер, с которого Счетчик начинает перебирать номера с шагом, значение которого будет введено в поле Шаг изменения. При желании введите значение в поле Максимальное значение, в противном случае Excel введет его самостоятельно.

    На следующем шаге мы рассмотрим вывод на печать этого бланка.




Предыдущий шаг Содержание Следующий шаг