- •Одесская национальная академия пищевых технологий
- •Конспект лекций
- •Глава 1. Основные понятия информатики и компьютерной техники.
- •1.1. Информация и информатика
- •1. 2. Устройства, характеристики и программное обеспечение пк
- •Основные характеристики современных пк
- •Программное обеспечение пк
- •3. Файловая система организация данных
- •Project.Vbp - проект Visual Basic;
- •1.4. Операционная система Windows
- •1.5. Пользовательский графический интерфейс
- •Окна в Windows
- •Глава 2. Обзор ресурсов и управление в Windows
- •2.1. Главное меню рабочего стола и справочная система
- •Справочная система Windows
- •2.2. Программа Проводник для работы с папками и файлами
- •2.3. Работа с папками в окне Проводник
- •2.4. Работа с файлами в окне Проводник
- •Глава 3. Текстовой редактор Word.
- •3.1. Создание и сохранение документа.
- •Ввод текста
- •Выделение текста
- •Сохранение документа
- •Установка гарнитуры и размера шрифтов
- •Ввод символов
- •3.3. Редактирование текста страницы
- •Удаление, копирование, перемещение и вставка текста
- •Вставка текста из другого документа
- •3.4. Колонки и таблицы в Word Расположение текста колонками
- •Создание таблицы
- •Глава 4. Формульный редактор и графика в Word
- •4.1 Формульный редактор
- •Создание гиперссылки
- •Графика в Word Графические объекты - рисунки, фотографии, диаграммы и пр. В документах Word часто используется различного вида графика:
- •4.2. Работа с рисунками
- •Меню вставки рисунка
- •Глава 5. Табличный процессор ms Excel
- •5.1. Рабочие книги, листы и окно Excel
- •5.2. Некоторые операции над рабочей книгой и листами
- •Операции над рабочим листом
- •Выделение элементов листа
- •Работа с ячейками
- •5.3. Типы данных в Excel и их ввод
- •5.4. Арифметические и логические выражения в Excel
- •Глава 6. Вычисления в Excel
- •6.1. Абсолютные, относительные и смешанные адреса
- •6.2. Стандартные функции
- •Мастер функций
- •6.3. Логические функции если в Excel
- •Пример применения функции если
- •6.4. Функции обработки текстовых данных: Функции найти и поиск
- •Функции правсимв и левсимв
- •Функции сжпробелы и печсимв
- •Функция пстр
- •Функции заменить и подставить
- •Функция повтор
- •Функция значен Функция значен преобразует строку текста, отображающую число, в число. Синтаксис:
- •6.5. Работа с датами Как вводить даты и время в Excel
- •Быстрый ввод дат и времени
- •Как Excel хранит и обрабатывает даты и время
- •Количество дней между двумя датами
- •Количество рабочих дней между двумя датами
- •Сдвиг даты на заданное количество дней
- •Сдвиг даты на заданное количество рабочих дней
- •Вычисление дня недели
- •Как посчитать сколько дней в месяце
- •Глава 7. Диаграммы в Excel и решение прикладных задач
- •7.1. Мастер диаграмм
- •7.2. Построение диаграммы типа Поверхность
- •7.3. Редактирование построенной диаграммы
- •7.4. Решение нелинейных уравнений в Excel
- •7.5. Вычисления по итерационным формулам
- •Глава 8. Обработка статистических данных в Excel
- •8.1. Некоторые понятия математической статистики
- •8.2. Генерация случайных чисел и построение гистограмм
- •Построение гистограмм
- •8.3. Описательная статистика
- •Глава 9. Работа с базами данных в Excel
- •9.1. Основные понятия и правила создания бд
- •Номер первой записи
- •Сортировка записей в бд по критериям
- •9.2. Применение команды Автофильтр Команда Автофильтр выполняет отбор записей по критериям одного поля.
- •Дополнительные пункты раскрывающегося списка команды Автофильтр : Все, Первые 10 , Условие…:( рис. 9.3)
- •9.3. Применение команды Расширенный фильтр
- •Глава 10. Алгоритмизация вычислительных процессов Этапы решения инженерных задач на пк
- •10.1. Алгоритм и его свойства
- •Типы алгоритмических структур
- •10.2. Линейные и разветвляющиеся алгоритмы
- •10.3. Простые циклические алгоритмы
- •10.4. Циклические алгоритмы обработки массивов
- •Двумерные массивы
- •А) ввод по строкам в) ввод по столбцам
- •Глава 11. Система программирования Visual Basic for Applications (vba)
- •11.1. Основные положения
- •11.2. Некоторые определения
- •Стандартный модуль (Module)
- •11.3. Запуск и элементы окна редактора vba
- •Глава 12. Пример создания проекта в vba и типы данных
- •12.1. Порядок действий на пк при создании проекта
- •12.2. Элементы языка vba
- •Данные в vba
- •12.3. Описание переменных
- •Глава 13. Выражения в vba и ввод – вывод данных
- •13.1. Выражения в vba
- •13.2. Операторы присваивания и способы ввода данных Оператор присваивания
- •Способы ввода данных
- •Для ввода
- •13.3. Способы вывода данных
- •Глава 14. Организация разветвляющихся программ
- •14.1. Операторы управления goto, if
- •Условный оператор управления if
- •14.3. Оператор выбора Select Case
- •Глава 15. Организация циклических программ в vba
- •15.1. Простые циклические программы с оператором if
- •15.2. Оператор цикла For ... Next
- •15.3. Операторы циклов типа Do (выполнить)
- •Использование операторов Do While и Do Until для организация цикла с защитой входа
- •Использование операторов Do While и Do Until для организация цикла с свободным входом в цикл (с послеусловием) Организация цикла с проверкой условия в конце цикла
- •Глава 16. Массивы данных в vbа
- •16.2. Примеры обработки одномерных массивов
- •Сортировка числовых одномерных массивов
- •Алгоритм сортировки одномерного массива по возрастанию
- •16.3. Двумерный массив
- •Программа
- •Глава 17. Пользовательские процедуры типа Sub и Function в vba
- •17.1. Подпрограммы
- •Вызов подпрограммы процедуры Sub
- •2 Способ.
- •17.3. Подпрограмма - процедура Function
- •Вызов подпрограммы - процедуры Function
- •Глава 18. Решение оптимизационных задач
- •18.1. Обработка электронных таблиц в среде vba
- •18.2. Применение процедуры Поиск решения для решения линейных оптимизационных задач
- •18. 3. Подготовка эт
- •Список литературы
- •Содержание
Глава 18. Решение оптимизационных задач
18.1. Обработка электронных таблиц в среде vba
В Excel можно вставлять элементы управления (кнопки, списки и т.п.) непосредственно в электронную таблицу. Для вставки элементов управления в ЭТ необходимо выполнить следующие действия:
1. Открыть панель инструментов “Visual Basic”, выполнив команды меню Вид, Панели инструментов, Visual Basic (рис. 18.1).
1 2 3 4
Рис.
18.1. Панель инструментов Visual Basic.
Кнопки слева направо:1- вызов редактора VBA, 2- панели элементов управления, 3 - выход из режима конструктора, 4 - вызов редактора сценариев.
2. Открыть панель элементов управления, щелкнув в панели инструментов Visual Basic по кнопке “Элементы управления”.
3. Выбрать в панели элементов управления нужный элемент, щелкнув по нему мышкой и переведя курсор в нужное место электронной таблицы “нарисовать” элемент управления мышкой при нажатой левой кнопке. При этом активизируется Режим конструктора.
В контекстном меню элемента управления (например, кнопки CommandButton) можно выполнить команду “Свойства”, которая откроет окно свойств данного элемента. Дважды щелкнув по созданному элементу управления левой кнопкой мыши можно открыть редактор кода Visual Basic для создания процедур обработки событий. Например, в процедуре можно записать код, по которому в ячейку В1 будет записано число 24.6. Так как ячейка принадлежат к рабочему листу 1, а тот в свою очередь к рабочей книге 2, то в общем случае процедура обработки события нажатия кнопки будет иметь вид:
Private Sub CommandButton1_Click()
Workbooks("Книга2").Worksheets("Лист1").Range("B1").Value = 24.6
End Sub
где Workbooks("Книга2") - обращение к рабочей книге с именем Книга2
WorkSheets("Лист1") - обращение к рабочему листу с именем Лист1
Range("B1") – обращение к ячейке В1
Value – свойство ячейки
Если активными являются рабочая книга2 и рабочий лист1, то процедура обработки события нажатия кнопки упрощается:
Private Sub CommandButton1_Click()
Range("B1") = 24.6
End Sub
Эта процедура будет выполняться лишь после выхода Excel из режима конструктора, т.е. нужно щелкнуть кнопку 3 (рис. 18.1).
Используя элементы управления, вставленные в рабочий лист и ячейки электронной таблицы для ввода и вывода информации можно создавать сценарии. Сценарий — это набор значений, которые Microsoft Excel сохраняет и может автоматически подставлять на листе. Сценарии можно использовать для прогноза результатов моделей и систем расчетов.
Пример 18.1. Создание сценария для выбора поставщика сырья, с целью минимизации затрат производства при выпуске продукции. Исходными данными для сценария являются:
Три поставщика, поставляют три вида сырья для производства трех видов продукции (см. табл. 18.1).
Каждый поставщик за сырье 1, 2 и 3-е выставляет свою цену за кг. Отсюда затраты на производство продукции будут различными.
Обычно составляется ЭТ, в ячейки которой вводят цены за сырье от 1 поставщика и выписывают из таблицы полученные затраты, затем аналогично выполняют для 2-го и 3-го поставщика. Из полученных результатов выбирают поставщика с минимальными затратами. Этот процесс можно автоматизировать, создав сценарий, по которому к ЭТ на рабочем листе добавляются три кнопки, при нажатии на каждую из которых в таблицу программно вставляются цены, предлагаемые соответствующими поставщиками. При этом затраты по каждому поставщику автоматически заносятся в отдельные от ЭТ ячейки, среди которых выбирается минимальное значение, т.е. поставщик. Интерфейс сценария составляют 4 кнопки.
Процедуры отклика на каждую кнопку приведены ниже:
Private Sub CommandButton1_Click() ' 1 поставщик
Range("E3") = 3.5 'Цена за кг. 1-го сырья 1-м поставщиком
Range("H3") = 4.5 'Цена за кг. 2-го сырья 1-м поставщиком
Range("K3") = 2.5 'Цена за кг. 3-го сырья 1-м поставщиком
Range("D10") = Range("L8") 'Передача затрат в ячейку D10
End Sub
Private Sub CommandButton2_Click() ' 2 поставщик
Range("E3") = 3.2 'Цена за кг. 1-го сырья 2-м поставщиком
Range("H3") = 5.5 'Цена за кг. 2-го сырья 2-м поставщиком
Range("K3") = 2.6 'Цена за кг. 3-го сырья 2-м поставщиком
Range("D11") = Range("L8") 'Передача затрат в ячейку D11
End Sub
Private Sub CommandButton3_Click() ' 3 поставщик
Range("E3") = 3.3 'Цена за кг. 1-го сырья 3-м поставщиком
Range("H3") = 4.1 'Цена за кг. 2-го сырья 3-м поставщиком
Range("K3") = 2.8 'Цена за кг. 3-го сырья 3-м поставщиком
Range("D12") = Range("L8") 'Передача затрат в ячейку D12
End Sub
Private Sub CommandButton4_Click() ' Процедура обнуления ячеек
Range("E3") = 0 ' Обнуление ячейки Е3
Range("H3") = 0
Range("K3") = 0
Range("D10") = 0
Range("D11") = 0
Range("D12") = 0
End Sub
Таблица 18.1. - Исходная таблица для сценария
Продукция Ед.
изм План Сырье
для производства Сырье
1 Сырье
2 Сырье
3 Продукт
1 кг 210 12% 23% 32% Продукт
2 кг 234 43% 12% 32% Продукт
3 кг 456 12% 11% 12%
Цены
за 1 кг. сырья Поставщик
1
3,5 4,5 2,5 Поставщик
2
3,2 5,5 2,6 Поставщик
3
3,3 4,1 2,8
Электронная таблица с интерфейсом представлена на рис. 18.2.
Рис.
18.2. ЭТ и интерфейс пользователя
При составлении ЭТ предусматривается использование формул расчета:
Формула веса каждого вида сырья в % отношении от заданной выпускаемой продукции (ячейки D5:D7; G5:G7; J5:J7 ). Например, в ячейке D5 =B5*C5/100 .
Затрат на каждое сырье, используя цену за 1кг. И сумму затрат по каждому сырью (ячейки E5:E8;H5:H8;K5:K8 ). Например, в ячейке Е5 =$E$3*D5
В ячейке L8 предусмотреть формулу суммы ячеек E8; H8; K8.
Для работы сценария нужно вывести Excel из режима конструктора (кнопка 3 на рис. 18.1) и щелкать последовательно первые три кнопки на рабочем листе. Результат работы сценария представлен на рис. 18.3.
Рис.
18.3. Результат работы сценария