Вопрос 2. Элементы управления Excel.
Рассмотрим использование инструмента Элементы управленияна примере разработки приложения «Регистрация посетителей отеля».
Последовательность изучения данного инструмента предусматривает разработку и подготовку на листе Excel карточки посетителя отеля, связь элементов управления карточки с ячейками листа, обработку информации, помещенной в карточке с переносом в таблицу на том же листе, организации таблицы, в которой будут накапливаться сведения о клиентах отеля.
Последовательность выполнения:
1. Запустить программу MS Excel. Создать новый файл. Присвоить ему имя «Карточка клиента». Первому рабочему листу присвоить имя «Карточка регистрации».
2. Вызвать панель инструментов Элементы управления формы (Разработчик, Элементы управления, Вставить).
Подготовить карточку регистрации в соответствии с рисунком:
Обеспечить выполнение следующих условий:
·фамилия и имя будут вводиться вручную в ячейки С3, С4;
·для указания продолжительности проживания используется Счетчик;
·пол и тип номера выбираются с помощью элемента управления Переключатель;
·наличие паспорта и заказа завтрака в номер фиксируется Флажками.
·Флажок «Паспорт» связать с ячейкой А20 (правой кнопкой на счетчике – Формат объекта – Элемент управления – Связать с ячейкой), «Завтрак» – с А21, счетчик «Продолжительность проживания» – с В15, переключатели «Пол» – с А22, переключатели «Номер» – с А23.
3. На том же листе организовать промежуточную таблицу введенной информации из карточки регистрации.
Заполните соответствующие ячейки этой таблицы следующими формулами:
· в Н2: =СЕГОДНЯ();
· в I2: =С3;
· в J2: =ЕСЛИ(I2=””;””;C4);
· в К2:=ЕСЛИ(I2=””;””;ЕСЛИ(А20=ЛОЖЬ;”нет”;”да”));
· в L2:= ЕСЛИ(I2=””;””;ЕСЛИ(А22=1;”муж”;”жен”));
· в N2: ЕСЛИ(I2=””;””;ЕСЛИ(A23=1;”одноместный”;ЕСЛИ(A23= 2;”двухместный”;”люкс”)));
· в О2: =В15;
· в Р2: =ЕСЛИ(I2="";"";ЕСЛИ(N2="одноместный";O2*S2;ЕСЛИ (N2="двухместный";O2*S3;O2*S4)));
· в Q2: =ЕСЛИ(I2="";"";ЕСЛИ(L2="да";100*O2+P2;P2)).
4. Для того чтобы накапливать информацию о посетителях отеля необходимо создать макрос для копирования строки из промежуточной таблицы на другой лист. Второй рабочий лист переименуем в «База посетителей». Скопируйте шапку промежуточной таблицы с листа «Карточка регистрации» на лист «База посетителей», начиная с ячейки А1.
5. Запишите макрос «Копирование». Ваши действия:
• Перейдите на лист «Карточка регистрации»;
• Выполните команду: Разработчик, Код, Запись Макроса. Присвойте имя макросу «Копирование».
• Выделите диапазон ячеек H2:Q2. Выполните команду Главная, Буфер обмена, Копировать.
• Перейдите на лист «База посетителей». Щелкните по ячейке А2.
• Выполните команду: Главная, Буфер обмена, Вставить, Специальная вставка, Значения.
• Перейдите на лист «Карточка регистрации».
• Дайте команду: Разработчик, Код, Остановить Запись.
• В результате полученный макрос будет иметь вид, который можно просмотреть, дав команду: Разработчик, Код, Макросы, Изменить:
Sub Копирование()
Range("H2:Q2").Select
Selection.Copy
Sheets("База посетителей").Select
ns = Application.CountA(Sheets("Карточка регистрации"). Range("A:A"))
d = "a" & CStr(ns + 1)
Range(d).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks :=False, Transpose:=False
Sheets("Карточка регистрации").Select
Application.CutCopyMode = False
MsgBox "Копирование прошло успешно"
End Sub
Жирным шрифтом указаны изменения, которые требуется внести в текст макроса, для того чтобы копирование каждый раз производилось в следующую пустую строку листа «База посетителей». Строка MsgBox «Копирование прошло успешно» – диагностирует правильность выполнения операции копирования.
6. Создайте на листе «Карточка регистрации» кнопку с помощью одноименного элемента управления панели инструментов Элементы управления. Измените надпись на кнопке на Перенос в базу. Привяжите созданный макрос «Копирование» к кнопке: щелчок правой кнопкой мыши по кнопке, выбор в контекстном меню Назначить макрос, выбор «Копирование».
7. Т.к. промежуточная таблица имеет всего одну рабочую строку, то для ввода информации о новом клиенте требуется очисть эту строку. Для очистки промежуточной таблицы достаточно очистить ячейки для ввода Фамилии и имени в «Карточке клиента». Запишите макрос для очистки «Очистка фамилии», который в итоге будет выглядеть следующим образом.
Sub Очистка фамилии()
Range("C3:C4").Select
Selection.ClearContents
End Sub
8. Создайте на листе «Карточка регистрации» кнопку, измените надпись на кнопке на Очистка фамилии. Привяжите созданный макрос «Очистка фамилии» к кнопке.
Дата добавления: 2016-07-27; просмотров: 3719;