Практическое задание «Карточка клиента»

advertisement
Практическое задание «Карточка клиента»
Задание: выполнить разработку приложения «Регистрация посетителей отеля», используя панель
инструментов Формы. Задание предусматривает разработку и подготовку на листе Excel карточки посетителя
отеля (рис.2), связь элементов управления карточки с ячейками листа, обработку информации, помещенной в
карточке с переносом в таблицу на том же листе, организации таблицы, в которой будут накапливаться сведения
о клиентах отеля.
Рекомендации к выполнению:
1. Запустите программу MS Excel. Создайте новый файл. Присвойте ему имя «Карточка клиента». Первому
рабочему листу присвойте имя «Карточка регистрации».
2. Вызовите панель инструментов Формы (Вид, Панели инструментов, Формы).
Рис.1. Панель инструментов «Формы»
Подготовьте карточку регистрации в соответствии с рис.2: фамилия и имя будут вводиться вручную в ячейки
С3 ,С4; для указания продолжительности проживания используется Счетчик; пол и тип номера выбираются с
помощью
элемента
управления
Переключатель
(соответствующие переключатели объединяются в группу);
наличие паспорта и заказа завтрака в номер фиксируется
Флажками (соответствующие флажки объединяются в группу).
Флажок «Паспорт» связать с ячейкой А20, «Завтрак» - с А21,
счетчик «Продолжительность проживания» - с В15, группу
переключателей «Пол» - А22 (связывается любой из
переключателей группы), группу переключателей «Номер» - с
А23 (только один из группы).
3. На том же листе организуйте промежуточную таблицу
введенной информации из карточки регистрации (рис.3).
Заполните соответствующие ячейки этой таблицы
следующими формулами:
 в Н2: =СЕГОДНЯ();
 в I2: =С3;
 в J2: =ЕСЛИ(I2=””;””;C4);
 в К2:
=ЕСЛИ(I2=””;””;ЕСЛИ(А20=ЛОЖЬ;”нет”;”да”));
Рис. 2. Карточка регистрации посетителей
 в 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)).
Рис. 3. Таблица для переноса данных из карточки регистрации
4. Для того чтобы накапливать информацию о посетителях отеля необходимо создать макрос для
копирования строки из промежуточной таблицы на другой лист. Второй рабочий лист
переименуем в «База посетителей». Скопируйте шапку промежуточной таблицы с листа
«Карточка регистрации» на лист «База посетителей» с ячейки А1 (рис.4).
Рис. 4. Лист «База посетителей» с информацией
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. Создайте на листе «Карточка регистрации» кнопку с помощью одноименного элемента управления
панели инструментов Форма. Измените надпись на кнопке на Перенос в базу (рис.3). Привяжите
созданный макрос «Копирование» к кнопке: щелчок правой кнопкой мыши по кнопке, выбор в
контекстном меню Назначить макрос, выбор «Копирование».
7. Т.к. промежуточная таблица имеет всего одну рабочую строку, то для ввода информации о новом клиенте
требуется очисть эту строку. Для очистки промежуточной таблицы достаточно очистить ячейки для ввода
Фамилии и имени в «Карточке клиента». Запишите макрос для очистки «Очистка фамилии», который в
итоге будет выглядеть следующим образом.
Sub Очистка фамилии()
Range("C3:C4").Select
Selection.ClearContents
End Sub
8. Создайте на листе «Карточка регистрации» кнопку, измените надпись на кнопке на Очистка фамилии
(рис.3). Привяжите созданный макрос «Очистка фамилии» к кнопке.
Download