logo search
Avtomatizatsia_ekonomicheskih_raschetov_v_Excel

4.3. Использование макросов для создания интерфейса

Процесс создания интерфейса рассмотрим на следующем примере.

Постановка задачи

Рассмотрим пример создания интерфейса для обеспечения расчетов, связанных с работой по вкладам.

Величина вклада рассчитывается по формуле сложных процентов:

, (4.7)

где P – начальный вклад;

c – ставка сложных процентов;

t – время вклада;

S – величина вклада через время t.

Уравнение (4.7) представляет собой решение прямой задачи. Но, поскольку все, входящие в него параметра являются взаимосвязанными, то возможны следующие обратные задачи.

– по известному конечному вкладу, величине ставки и времени вычислить начальный вклад:

, (4.8)

– по известным начальному и конечным вкладам и процентной ставке вычислить время вклада:

, (4.9)

– по известным начальному и конечному вкладам и времени вычислить величину ставки:

. (4.10)

Проектирование интерфейса

На основе уравнений (4.7) – (4.10) можно создать вычислительный комплекс со следующим интерфейсом.

При запуске программы появляется лист, содержащий главное меню – рис.4.3.

Рис.4.3. Внешний вид главного меню программы

При щелчке по кнопке «Конечный вклад» система переходит на Лист2, в котором реализованы расчеты по формуле (4.7) – рис. 4.4. После завершения расчетов вернуться в главное меню можно с помощью соответствующей кнопки.

По аналогичной схеме работают кнопки «Начальный вклад», «Время» и «Ставка». При этом система должна переходить на соответствующие листы – Лист3, Лист4 и Лист5. Кнопка «Выход» обеспечивает закрытие программы и выход из Excel.

Рис.4.4. Лист с реализацией расчетов величины конечного вклада.

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

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

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

Вид > Панели инструментов > Формы.

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

  2. Аналогично нарисовать все остальные кнопки меню и расчетных листах.

  3. Исправить надписи на кнопках.

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

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

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

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

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

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

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

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

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

Таблица 4.3

Предназначение кнопок

N

Кнопка

Назначение

1

«Конечный вклад»

Переход на Лист2

2

«Начальный вклад»

Переход на Лист3

3

«Время»

Переход на Лист4

4

«Ставка»

Переход на Лист5

5

«Выход»

Выход из Excel

6

«Главное меню» на расчетных листах

Переход на Лист1

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

Например, для кнопки «Конечный вклад»:

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

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

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

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

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

Точно также можно создать макросы для остальных кнопок перехода – «Начальный вклад», «Время», «Ставка» и «Главное меню» на расчетных листах.

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

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

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

Sub Кон_вклад()

Sheets("Лист2").Select

End Sub

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

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

Sub Нач_вклад()

Sheets("Лист3").Select

End Sub

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

Sub Время()

Sheets("Лист4").Select

End Sub

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

Sub Ставка()

Sheets("Лист5").Select

End Sub

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

Sub Меню()

Sheets("Лист1").Select

End Sub

  1. Для кнопки «Выход» макрос должен содержать следующую команду:

Sub Выход()

Workbooks.Close

End Sub

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

Привязка макросов к кнопкам

Для привязки имеющихся макросов к соответствующим кнопкам необходимо:

  1. Вернуться в Excel.

  2. Установить указатель мыши на нужную кнопку и щелкнуть правой кнопкой мыши.

  3. В появившемся меню выбрать пункт «Назначить макрос»

  4. Из списка макросов выбрать нужный и «Ok».

После выполнения указанных команд выбранная кнопка становится активной – при установке на нее указателя мыши он принимает форму ладони.

Реализация вычислений

В соответствии с проектом вычисления по формулам (4.7) – (4.10) должны быть разнесены по разным листам. Организация вычисления на всех листах в каком-то смысле типична.

На Лист2 вычисляется величина конечного вклада.

А

B

C

D

1

2

Начальный вклад

10000

3

Ставка

0,06

4

Время

5

5

Конечный вклад

13382,26

6

При этом в ячейку С5 введена формула (4.7): = C2*(1+C3)^C4.

На Лист3 вычисляется величина начального вклада.

A

B

C

D

1

2

Конечный вклад

15000

3

Ставка

0,06

4

Время

5

5

Начальный вклад

11208,87

6

При этом в ячейку С5 введена формула (4.8): = C2/(1+C3)^C4.

На Лист4 вычисляется время вклада.

A

B

C

D

1

2

Конечный вклад

15000

3

Начальный вклад

10000

4

Ставка

0,06

5

Время

6,958516

6

При этом в ячейку С5 введена формула (4.9): = Ln(C2/C3)/Ln(1+C4).

На лист5 вычисляется величина процентной ставки.

A

B

C

D

1

2

Конечный вклад

15000

3

Начальный вклад

10000

4

Время

5

5

Ставка

0,084472

6

При этом в ячейку С5 введена формула (4.10): = (C2/C3)^(1/C4)-1.