
- •Лаб. 4. Создание текстовых документов с помощью Excel на примере оформления генеральной доверенности на автомобиль
- •Доверенности
- •Написание даты прописью
- •Макросы
- •Создание листа Ввод
- •Проверка содержимого двух областей на соответствие
- •Перенос данных из листа Ввод в лист Реквизиты
- •Присвоение имен ячейкам выхода модулей формирования дат
- •Просмотр созданных доверенностей из табличной базы данных
Макросы
Макрос СоздатьСписок
Для записи макроса СоздатьСписок выполните следующие действия:
поместите курсор на ярлычок листа Реквизиты и, нажав клавишу Ctrl, создайте точную копию листа Реквизиты(2) перемещением указателя мыши направо;
выделите строки 1:3 и выполнить команду Правка/Удалить;
выполните команду Данные/Фильтр/Автофильтр;
поместите табличный курсор в ячейку В2.
Записанный макрос после ввода комментариев будет выглядеть как на рис. 7.13. (кроме строки Макрос создания кнопки, которая будет рассмотрена далее). Поместите на листе Реквизиты кнопку и назначьте ей созданный макрос.
Вначале макрос создает копию листа Реквизиты. Цифра 6 указывает на то, что этот лист будет находиться шестым по счету слева направо.
Copy Before:=Sheets(6)
Рис. 7.13. Окно программ Редактора Visual Basic с макросами создания точной копии листа, создания и присвоения кнопки и удаления листа
Макрос УдалитьСписок
Если отсутствует потребность в созданной копии базы данных в виде списка, то для его удаления напишите макрос УдалитьСписок, выполнив последовательность действий:
поместив курсор на ярлычок листа Реквизиты(2) нажмите правую кнопку мыши и, выделив команду Удалить, нажмите на левую кнопку мыши;
в появившемся диалоговом окне Microsoft Excel с предупреждением о том, что отмена операции удаления выделенных листов будет невозможна, нажмите кнопку ОК.
Макрос СозданиеКнопки
Для создания кнопки, нажатие на которую вызовет выполнение макроса УдалитьСписок, запишите макрос СозданиеКнопки. При записи макроса предполагается, что панель Формы не активизирована, поэтому при записи макроса предполагается ее активизация. Действия:
выполните команду Вид/Панели инструментов/Формы и с помощью панели Формы создайте и разместите кнопку на листе Реквизиты(2);
в появившемся окне Назначить макрос (рис. 4.18.) назначьте макрос УдалитьСписок;
закройте панель Формы.
Теперь при нажатии на созданную кнопку лист Реквизиты(2) вместе с созданной кнопкой будет удален или самоликвидирован.
После написания макроса, первую и четвертую строку кода, можете удалить, или перевести в разряд примечаний.
Введение выполнения макроса в другой макрос
Для того чтобы при создании листа Реквизиты(2) была создана кнопка удаления этого листа, нужно задать из макроса СозданиеСписка ссылку на выполнение макроса СозданиеКнопки. Для этого перейдите в Редакторе Visual Basic на макрос СозданиеКнопки, выделите имя макроса после оператора Sub и скопируйте в буфер обмена. Перейдите в макрос СозданиеСписка и произведите вставку в строке перед командой перехода на ячейку В2.
Обманите Excel
Как видите, для того чтобы воспользоваться Автофильтром, необходимо таблице задать параметры списка, для чего нужно проделать ряд не совсем удобных процедур. Это не совсем удобно. Попытайтесь обмануть Excel!
Для этого выполните следующее:
выделите строку 4 и выполните команду Вставка/Строки;
после вставки строки выделенной будет вставленная строка 4. Выполните команду Правка/Очистить/Все;
скройте эту строку, выполнив команду Правда/Строка/Скрыть;
установите Автофильтр.
Почему это произошло будет описано в следующих главах.
Рабочий лист Действия
В четвертом абзаце текста доверенности присутствует перечень действий, которые может осуществлять лицо с доверяемым ему имуществом. Перечень этих действий может быть самым разнообразным. Для того чтобы при создании доверенности не ошибиться в их перечне и проделать эту операцию достаточно быстро, желательно не набирать их текст с клавиатуры, а отметить опции, с помощью которых этот перечень будет введен в доверенность автоматически.
Для этого на листе Действия (рис. 7.14.) с помощью панели Формы внедрите несколько элементов управления Флажок. С помощью диалогового окна Формат элемента управления свяжите этот элемент с ячейкой, расположенной правее этого элемента.
Рассмотрим второй элемент управления Флажок, производящий ввод в доверенность текста - Продать. При его создании он размещен и ограничен размерами ячейки С5. Этот элемент управления связан с ячейкой Е5. При активизации элемента Продать ячейка Е5 возвращает значение ИСТИНА. В ячейку С5 введите текст продать, который будет вводиться в доверенность при активизации этого элемента. В ячейке F5 находится формула:
=ЕСЛИ(E5;СЦЕПИТЬ(B5;", ");"")
в которой функция ЕСЛИ анализирует значение ячейки Е5. Если элемент Продать не активизирован, то содержимое ячейки Е5 равно значению ЛОЖЬ, и тогда третий аргумент функции ЕСЛИ ничего не возвращает. В противном случае во втором аргументе функции ЕСЛИ функция СЦЕПИТЬ соединяет, текст "продать", введенный в ячейку В5, с запятой и пробелом, введенными во второй аргумент функции СЦЕПИТЬ.
Задача формулы, введенной в ячейку С15 (показана в строке формул на рис. 7.14.), соединить текст выбранных действий в единую текстовую строку и при этом удалить два последних текстовых символа, которыми являются запятая и пробел. Для этого из всего текста с помощью функции ЛЕВСИМВ выбирается столько левых символов, сколько находится в объединенном функцией СЦЕПИТЬ тексте, определенном функцией ДЛСТР за минусом значения 2.
Рис. 7.14. Рабочий лист Действия
Макросы перехода
На рабочем листе Действия (рис. 7.14.) находится кнопка с текстом Переход на лист Ввод. Подобные кнопки созданы для удобства работы и при нажатии на них происходит переход на указанный рабочий лист. Можно сказать, что это аналог гиперссылки, рассмотренных в прошлой главе.
Для записи такого макроса достаточно после начала записи макроса активизировать лист Ввод и остановить запись.
На рис. 7.15. показаны макросы, написанные для перехода на другие рабочие листы.
Рис. 7.15. Окно программ Редактора Visual Basic с макросами перехода на другие рабочие листы
Рабочий лист Ввод
Рабочий лист Ввод достаточно многофункциональный. Его задачами являются:
облегчение просмотра базы данных клиентов, потому что вертикально расположенные данные воспринимаются пользователем легче, чем расположенные горизонтально;
позволяет облегчить, ускорить и уменьшить количество ошибок вводимых в доверенность за счет экспорта данных из базы данных клиентов;
помещает данные о клиентах в создаваемой доверенности в лист Реквизиты;
служит своеобразным буфером для разрыва связи между формулами разрабатываемого приложения, за счет чего обеспечивается уменьшение занимаемого объема на жестком диске и быстродействие проведения расчетов.