- •Ход работы: (часть 1)
- •1. Создать таблицу сравнения влияния сокращения уровня затрат и увеличения объема продаж на величину получаемой прибыли
- •3.2 Режим уменьшения объема затрат
- •3.3 Описание последовательности выполнения действий подпрограммой УменьшениеЗатрат.
- •3.4 Режим увеличения объема продаж
- •3.6 Режим изменения пропорций затраты/прибыль в исходных данных
- •3.7 Подпрограмма изменения пропорций затраты/прибыль в исходных данных
- •(Часть 2) Приближение созданной модели к пользовательскому интерфейсу
- •4. Защита приложения от неосторожных действий пользователя
- •4.1 Защита рабочего листа
- •5. Создание удобного интерфейса
- •Порядок выполнения лабораторной работы
- •Содержание отчета
(Часть 2) Приближение созданной модели к пользовательскому интерфейсу
4. Защита приложения от неосторожных действий пользователя
4.1 Защита рабочего листа
Выполните команду Сервис/Защита/Защитить рабочий лист. В появившемся диалоговом окне Защитить лист отметьте/снимите опции защиты и в поле Пароль введите пароль.
Перед защитой листа необходимо указать ячейки, которые можно изменять, то есть ячейки I5, I10, I15, F19 и диапазон С5:D21. Выделите эти ячейки и сняв защиту листа выполните команду Формат/Ячейки в диалоговом окне Формат ячеек перейдите на вкладку Защита, в которой отметьте опции Защищаемая ячейка и Скрыть формулы, как показано на рис. 7 и после этого защитите лист.
Рис. 7. Диалоговое окно Формат ячеек
5. Создание удобного интерфейса
Для автоматизации процесса удаления ненужных атрибутов (панели инструментов и меню, строка формул и строка состояния, полосы прокрутки, ярлык с именем листа и заголовки строк и столбцов) и последующего их восстановления запишите два макроса СозданиеПриложения (рис. 8) и ЗакрытьПриложение (рис. 9).
Рис. 8. Подпрограмма СозданиеПриложения
Рис. 9. Подпрограмма ЗакрытьПриложения
Для записи первой части подпрограммы СозданиеПриложения запишите макрос, выполнив следующую последовательность действий:
выполните команды Вид/Панели инструментов/ Стандартная и Вид/Панели инструментов/ Форматирование;
выполните команды Вид/Строка формул и Вид/Строка состояния.
Полученный при записи макроса код VBA будет выглядеть следующим образом:
Application.CommandBars("Standard").Visible = False
Application.CommandBars("Formatting").Visible = False
Application.DisplayFormulaBar = False
Application.DisplayStatusBar = False
При выполнении макроса, ему каждый раз придется выполнять все операции. Этот недостаток устраняет инструкция With, которая выполняет последовательность инструкций над одиночным объектом или определяемым пользователем типом данных. Синтаксис инструкции:
With объект
[инструкции]
End With
Синтаксис инструкции With содержит следующие элементы:
объект - обязательный аргумент. Это имя объекта или определяемого пользователем типа.
инструкции - необязательный аргумент. Это одна или несколько инструкций, выполняемых над объектом.
Инструкция With позволяет выполнить последовательность инструкций над указанным объектом, не повторяя задание имени объекта. Например, если имеется несколько свойств , которые необходимо изменить для одиночного объекта, то удобнее поместить инструкции присвоения свойств внутрь управляющей структуры With, указав ссылку на объект один раз, вместо того, чтобы ссылаться на объект при каждом присвоении его свойств.
Применение инструкция With показано на рис. 8., на котором дополнена строка кода VBA и еще одна инструкция With:
Caption = "Модель влияния издержек и объема продаж на прибыль"
Эта строка устанавливает свойство объекта Windows, воздействующее на все приложение. Свойство Caption заменяет текст Microsoft Excel и название файла на текст Модель влияния издержек и объема продаж на прибыль.
Объект CommandBars позволяет отображать панели инструментов и команд с помощью свойства Visible, которому могут присваиваться значения True (панель видима) или False (невидима). Свойство DisplayStatusBar управляет отображением строки состояния, а свойство DisplayFormulaBar строки формул при присвоении им значений True или False.
Дополнительная инструкция With позволяет заменить строки меню на пустую строку (рис. 8.). Для этого используется метод Add. Синтаксис метода следующий
CommandBars.Add(name, position, menuBar, temporariy)
где,
name - необязательный аргумент. Имя новой панели инструментов;
position - положение, которое займет новая панель на экране монитора. Возможно его указание в текстовом виде, либо при задании числового значения, как в нашем примере (1 - в верхней части экрана, 0 - слева, 2 - справа, 3 - внизу, 4 - посредине монитора);
menuBar - обратите внимание на этот аргумент. При присвоении ему значения True, создаваемая новая панель заменит существующую активную строку меню, при значении False новая панель добавляется к существующим как панель инструментов.
temporariy - При значении True, новая панель команд удаляется при закрытии Excel, а строка меню восстанавливается. Это свойство довольно удобно при восстановлении исходного состояния, для чего нужно просто закрыть Excel.
Следующая инструкция With воздействует на свойства активного открытого окна рабочего листа. Для записи этого фрагмента подпрограммы запишите макрос, для чего выполните следующие действия:
выполните команду Сервис/Параметры и на вкладке Вид снимите галочки со всех опций в области Параметры окна;
нажатием на кнопку восстановления размеров рабочего листа установите максимальный размер окна;
выберите масштаб, при котором рабочая область таблицы расположена на всем экране монитора.
В результате записи макроса свойствам DisplayGridlines, DisplayHeadings, DisplayOutline, DisplayZeros, DisplayHorizontalScrollBar, DisplayVerticalScrollBar и DisplayWorkbookTabs будет присвоено значение False. При необходимости подберите размер масштаба (Zoom) под ваш монитор.
Окно рабочей книги WindowState может иметь размеры:
xlMaximized - максимальный размер, который заполняет всю область развернутого пространства;
xlMinimized -окно свернуто и отображено в виде значка;
xlNormal - размер выбранный пользователем.
Первая строка добавленного кода переводит размер окна в максимальный.
Последняя строка относится к свойствам объекта Windows, воздействующим на всю рабочую книгу.
Последняя строка кода подпрограммы СозданиеПриложения (рис. 8.) удаляет с помощью метода Protect меню управления рабочей книги, расположенное в левом верхнем углу окна в виде маленького значка Excel.
Внешний вид созданного приложения показан на рис. 10.
Рис. 10. Внешний вид созданного приложения
Для записи подпрограммы ЗакрытьПриложение (рис. 9.) можно скопировать подпрограмму, либо записать последовательность действий и произвести редактирование.
Для возвращения исходного текста Microsoft Excel ему присваивается значение Empty, а для текста имени рабочего листа значение ActiveWorkbook.Name.
Для выполнения созданных подпрограммам создайте элементы управления Переключатель.
Исходные данные
№ варианта |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
Продажи |
25000 |
63000 |
16000 |
18000 |
64500 |
35124 |
47200 |
44630 |
35700 |
89500 |
Затраты |
18750 |
47250 |
12000 |
13500 |
51600 |
28099 |
37760 |
35704 |
28560 |
61755 |
№ варианта |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
Продажи |
64500 |
25300 |
180000 |
74000 |
87300 |
90000 |
95000 |
68000 |
49000 |
50000 |
Затраты |
44505 |
17457 |
124200 |
54020 |
63729 |
65700 |
74100 |
53040 |
38220 |
39000 |
№ варианта |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
Продажи |
55000 |
9000 |
61000 |
8500 |
6200 |
2000 |
15000 |
13000 |
165000 |
456123 |
Затраты |
35750 |
5850 |
39650 |
5525 |
4030 |
1300 |
9750 |
8450 |
107250 |
296480 |