logo search
Avtomatizatsia_ekonomicheskih_raschetov_v_Excel

5.3.2.3. Этапы создания интерфейса

Создание макросов для кнопок

Согласно плану проекта созданные кнопки должны обеспечить выполнение следующих команд – табл.5.1.

Таблица 5.1.

Назначение кнопок

N

Кнопка

Назначение

1

«Товары»

Переход на лист «Товары»

2

«Продажи»

Переход на лист «Продажи»

3

«Поставщики»

Переход на лист «Поставщики»

4

«Поставки»

Переход на лист «Поставки»

5

«Сотрудники»

Переход на лист «Сотрудники»

6

«Отчеты»

Переход на лист «Отчеты»

7

«Расчет з/п»

Переход на лист «Расчет з/п»

8

«Выход»

Выход из Excel

9

«Меню» на расчетных листах

Переход на лист «Меню»

Все макросы, выполняющие указанные команды, создаются практически одинаково.

1. Перейти на Лист1.

2. Выполнить команды – Сервис > Макрос > Начать запись.

3. На запрос о параметрах макроса необходимо только указать осмысленное имя макроса. Например, Товары и затем «Ok». При вводе имени макроса нельзя использовать пробелы.

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

5. Применительно к рассматриваемой задаче – щелкнуть по ярлычку «Товары» и затем Сервис > Макрос > Остановить запись.

Точно также можно создать макросы перехода – «Продажи», «Расчет з/п», «Отчеты» и т.д.

Но удобнее (и быстрее) остальные макросы создать следующим образом:

  1. После создания первого макроса («База данных») перейти в редактор Visual Basic – Сервис > Макрос > Макросы > Выбрать только что созданный > Изменить.

  2. Система перейдет в редактор Visual Basic, в котором мы увидим, как выглядит наш макрос в виде команд Бейсика. Если все было сделано правильно, то там должно быть примерно следующее:

Sub Товары()

Sheets("Товары").Select

End Sub

  1. Для создания остальных макросов имеющийся текст макроса как в Word выделяется, копируется в буфер и путем вставки создается восемь его копий.

  2. Каждую копию следует исправить, создавая новые макросы. Например, первую копию исправить, так, чтобы она приняла следующий вид:

Sub Продажи()

Sheets("Продажи").Select

End Sub

Вторую копию:

Sub Поставщики()

Sheets("Поставщики").Select

End Sub

Третью копию:

Sub Поставки()

Sheets("Поставки").Select

End Sub

Четвертую копию:

Sub Сотрудники()

Sheets("Сотрудники").Select

End Sub

Пятую копию:

Sub Расчет_зп()

Sheets("Расчет зп").Select

End Sub

Шестую копию:

Sub Отчеты()

Sheets("Отчеты").Select

End Sub

Седьмую копию:

Sub Меню()

Sheets("Меню").Select

End Sub

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

Sub Выход()

Workbooks.Close

End Sub

  1. Все необходимые макросы созданы.

Создание кнопок

  1. Вызывается панель инструментов с заготовками интерфейса – Вид > Панели инструментов > Формы.

  2. На появившейся панели выбрать элемент «Кнопка» и нарисовать ее в нужном месте экрана. На запрос о назначении макроса из списка выбрать «Товары». Надпись на кнопке «Кнопка 1» исправить на «Товары»

  3. Аналогично создаются все остальные кнопки главного меню.

  4. На остальных листах (пока еще пустых) создать кнопки возврата к главному меню (используется макрос «Меню»).

Оформление главного меню

Оформлять или не оформлять главное меню дело вкуса. Но если в этом есть необходимость, то:

  1. Вызвать панель рисования (Вид > Панели инструментов > Рисование), выбрать на ней объект «Прямоугольник» и накрыть им кнопки главного меню.

  2. Выделить нарисованный прямоугольник и на панели рисования выбрать Рисование > Порядок > На задний план. При этом скрытые прямоугольником кнопки выйдут на передний план.

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

  4. Убрать сетку таблицы – Сервис > Параметры > Снять отметку с параметра «Сетка».

  5. Выбрать подложку для фона – Формат > Лист > Подложка > Выбрать рисунок > Вставить. Рисунок можно выбрать из коллекции ClipArt.

Проверьте правильность переходов по созданной системе кнопок.