На этом шаге мы продолжим изучать содержимое этого листа.
На листе ВводДанных находятся сгруппированные элементы управления, с помощью которых осуществляется ввод дополнительного расхода топлива и их, в свою очередь, можно разделить на две части:
Следующая немаловажная деталь, на которую следует обратить внимание, что ввод данных осуществляется не только с помощью применения непосредственно элементов управления, но и с использованием диапазона ячеек в столбце J, которые связаны с элементами управления.
В исходном состоянии, когда пользователь приступает к вводу данных по путевому листу, содержимое ячеек столбца J очищено. По мере активизации различных элементов управления, ячейки заполняются различными значениями и формулами, которые рассмотрены далее.
Рассмотрим последовательность ввода данных и их последующей обработки. Этим элементам управления назначены макросы ОбогревЧасов и ТранспортнаяРабота (рисунок 1), которые при обращении к элементам управления с помощью функций InputBox активизируют пользовательские диалоговые окна Обогрев и Транспортная работа для последующего ввода данных в ячейки D13 и D14.
Рис.1. Макросы ОбогревЧасов и ТранспортнаяРабота для вызова пользовательских диалоговых окон, с помощью которых производится ввод данных
Но эти диалоговые она активизируются как при установке в этих элементах управления флажка, так и при его снятии.
Эти элементы управления с помощью диалогового окна Формат элементов управления связаны с ячейками J13 и J14, в которые, в зависимости от состояния этих элементов управления, может быть введено содержимое - ЛОЖЬ или ИСТИНА. Этим ячейкам присвоены имена Обогрев и Работа соответственно.
Если эти элементы управления активизированы, и в ячейках J13 и J14 находятся значения ИСТИНА, то введенные в пользовательские диалоговые окна данные будут отображены не только в ячейках D13 (часов на обогрев) и D14 (объем выполненной транспортной), но и в формулах в ячейках D19 и D20 (рисунок 2), которые основаны на функции ЕСЛИ.
Рис.2. Область расчета дополнительного расхода топлива с формулами
В первом аргументе функции ЕСЛИ находится имя ячейки и, если содержимое этой ячейки ИСТИНА, то формула выполняет расчет дополнительно израсходованного топлива, в противном же случае возвращает значение 0.
Рис.3. Элементы управления для ввода данных
Эти элементы управления связаны с ячейками J9:J11, которым присвоены имена: Остановки, Битум и СтарыйАвтомобиль. Если элементы управления активизированы, то в этим ячейкам будет присвоено значение ИСТИНА (рисунок 3), в противном случае значение ЛОЖЬ.
Этим же элементам управления назначены три макроса (рисунок 4), которые при обращении к элементам управления вводят формулы в ячейки D21:D23 (см. рисунок 2).
Рис.4. Макросы обновления формул для учета дополнительного расхода топлива
Если на одном рабочем листе создать 5 элементов управления Переключатель, то последующее назначение адреса управления связанной ячейки (например, Е4) для одного из них, будет командой автоматического назначения адреса этой же ячейки и для 4-х остальных. При активизации одного из них, содержимое связанной ячейки будет изменяться от одного до пяти в зависимости от хронологической последовательности, в которой были созданы эти элементы. Это хорошо видно на примере, приведенном на рисунке 5.
Рис.5. Рабочий лист с созданными элементами управления Переключатель, связанных с ячейкой Е4
Если же с помощью элемента управления Рамка заключить часть элементов Переключатель в группу (рисунок 6), то переключатели этой группы элементов управления не смогут управлять связанной ячейкой Е4.
Рис.6. Создание группы переключателей
Если одному из переключателей Группы1 задать связь с ячейкой Е9, то тогда содержимое ячейки Е9 будет изменяться от одного до трех, в зависимости от активизации переключателей Перекл.3 - Перекл.5., а два первых переключателя будут управлять значением содержимого ячейки Е4.
Объединение элементов управления в группу осуществляется элементом управления Рамка, который создается с помощью панели инструментов Формы (рисунок 7).
Рис.7. Панель инструментов Формы
Для этого, после выбора этого элемента управления на панели инструментов Формы, обведите контур вокруг группы элементов управления Переключатель.
Если же какой-то переключатель, например, Перекл.4 перетянуть за пределы Группы1 (рисунок 8), то адрес связанной ячейки автоматически изменяется с Е9 на Е4. То есть, переключатель "перешел" в другую группу.
Рис.8. Переключатель выведен за пределы Группы1
Пример работы с группами можно взять здесь.
Рассмотрим группу элементов управления Температура.
Первый уровень показывает, что данный коэффициент в расчетах присутствует. Для этого используется элемент управления Флажок. Этот элемент связан с ячейкой J15, которой присваивается значение ИСТИНА при активизации элемента управления. В свою очередь это значение ИСТИНА служит разрешением для формулы в ячейке J17 проводить дальнейший расчет.
Второй уровень показывает, какой коэффициент дополнительного расхода топлива будет использоваться в зависимости от температуры окружающего воздуха. Для этого задействованы три элемента управления Переключатель. Находясь в одной группе, все три элемента:
Ячейка J17 с присвоенным ей именем Температура содержит формулу:
=ЕСЛИ(J15;ЕСЛИ(J16=1;Температура5;ЕСЛИ(J16=2;Температура10;Температура15));0)
Если в ячейке J15, которой управляет элемент управления Флажок с именем Температура, находится значение ЛОЖЬ (опция не отмечена), то тогда первая функция ЕСЛИ в формуле в ячейке J17 возвращает значение 0. Это и есть первый уровень управления - присутствие этого коэффициента в расчетах при значении ИСТИНА в ячейке J15.
Далее формула переходит к определению размера коэффициента, в зависимости от активизированного элемента управления Переключатель, которые входят в эту группу. Эти элементы управления связаны с ячейкой J16 и изменяют ее значение от единицы до трех.
Следующие функции ЕСЛИ, в зависимости от значения содержимого ячейки J16, ссылкой на именованную ячейку, возвращают значение коэффициента дополнительного расхода топлива для данной температуры, которые введены в таблицу на рабочем листе Нормы (рисунок 9).
Рис.9. Рабочий лист Нормы
Следующие две объединенные группы элементов управления: Город и Горы функционируют также, как и группа Температура.
В ячейку J24 (имя ячейки Город) введена формула:
=ЕСЛИ(J22;ЕСЛИ(J23=1;Город1;ЕСЛИ(J23=2;Город2;Город3));0)
=ЕСЛИ(J30;ЕСЛИ(J31=1;ГорнМест1500;ЕСЛИ(J31=2;ГорнМестн2000;0)))
Всем элементам управления, объединенным в группы, назначены макросы, создающие формулы в ячейках, которые они контролируют - J17, J24 и J32. Макросы показаны на рисунке 10.
Рис.10. Макросы ввода формул в ячейки J17, J24 и J32
На следующем шаге мы закончим изучение этого вопроса.