- •Одесская национальная академия пищевых технологий
- •Программа дисциплины
- •Глава 1. Алгоритмизация вычислительных процессов Этапы решения инженерных задач на пк
- •1.1. Алгоритм и его свойства
- •Типы алгоритмических структур
- •1.2. Линейные и разветвляющиеся алгоритмы
- •1.3. Простые циклические алгоритмы
- •1.4. Циклические алгоритмы обработки массивов
- •Двумерные массивы
- •А) ввод по строкам в) ввод по столбцам
- •Глава 2. Система программирования Visual Basic for Applications (vba)
- •2.1. Основные положения
- •2.2. Некоторые определения
- •Стандартный модуль (Module)
- •2.3. Запуск и элементы окна редактора vba
- •Глава 3. Пример создания проекта в vba и типы данных
- •3.1. Порядок действий на пк при создании проекта
- •3.2. Элементы языка vba
- •Данные в vba
- •3.3. Описание переменных
- •Глава 4. Выражения в vba и ввод – вывод данных
- •4.1. Выражения в vba
- •4.2. Операторы присваивания и способы ввода данных Оператор присваивания
- •Способы ввода данных
- •Для ввода
- •4.3. Способы вывода данных
- •Глава 5. Организация разветвляющихся программ
- •5.1. Операторы управления goto, if
- •Условный оператор управления if
- •5.3. Оператор выбора Select Case
- •Глава 6. Организация циклических программ в vba
- •6.1. Простые циклические программы с оператором if
- •6.2. Оператор цикла For ... Next
- •6.3. Операторы циклов типа Do (выполнить)
- •Использование операторов Do While и Do Until для организация цикла с защитой входа
- •Использование операторов Do While и Do Until для организация цикла с свободным входом в цикл (с послеусловием) Организация цикла с проверкой условия в конце цикла
- •Глава 7. Массивы данных в vbа
- •7.2. Примеры обработки одномерных массивов
- •Сортировка числовых одномерных массивов
- •Алгоритм сортировки одномерного массива по возрастанию
- •7.3. Двумерный массив
- •Программа
- •Глава 8. Пользовательские процедуры типа Sub и Function в vba
- •8.1. Подпрограммы
- •Вызов подпрограммы процедуры Sub
- •2 Способ.
- •8.3. Подпрограмма - процедура Function
- •Вызов подпрограммы - процедуры Function
- •Глава 9. Решение оптимизационных задач
- •9.1. Обработка электронных таблиц в среде vba
- •9.2. Применение процедуры Поиск решения для решения линейных оптимизационных задач
- •9. 3. Подготовка эт
- •Линейные, разветвляющиеся и циклические алгоритмы
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Алгоритмы обработки одномерных и двумерных массивов
- •Оформление протокола лабораторной работы
- •Задание №1. Создать простейший проект ″Приветствие″ в vba:
- •1. Разработка интерфейса пользователя.
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Линейные программы в vba
- •Пример составления программы для нулевого варианта задания
- •Private Sub CommandButton1_Click() ′ Заголовок процедуры отклика
- •Разработка проектов в vba по разветвляющимся программам
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Циклические программы в vba
- •End Sub ‘ Конец процедуры отклика
- •End Sub ‘ Конец процедуры отклика
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Обработка одномерных массивов в vbа
- •Порядок выполнения задания №1.
- •Пример выполнения лабораторной работы
- •3. Интерфейс на рис. Л7.1. Вывод результата решения по условию нулевого варианта не в окно TextBox1, а в окно отладки Immediate Window.
- •4. Процедура отклика кнопки 1:
- •Результат решения в окне отладки Immediate Window (рис. Л7.3).
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Дайте определение одномерного массива.
- •Обработка двумерных массивов в vbа
- •Порядок выполнения задания №1.
- •Пример выполнения лабораторной работы
- •Оформление протокола лабораторной работы
- •Программная единица
- •Оформление протокола лабораторной работы
- •Контрольные вопросы
- •Обработка эт в среде vbа
- •Оформление протокола лабораторной работы
- •Приложение 1. Обозначения блоков в схемах алгоритмов
- •Литература
- •Содержание
Обработка эт в среде vbа
Цель работы: разработка проектов по обработке электронной таблицы в среде VBА (подготовка ЭТ и создание сценариев). При подготовке к работе изучить теоретический материал (с.37 – 40).
Задание 1. Создания в Excel ЭТ обработки данных. Листов 3. При создании таблицы исходных данных использутся шаблон (рис. Л10.1), который заполняется данными из таблицы на рис. Л10.6. В качестве примера, для нулевого варианта составлена таблица исходных данных на рис. Л10.2 и составлена электронная таблица (ЭТ) на рис. Л10.3.
Продукция Ед.
изм План Сырье
для производства Сырье
1 Сырье
2 Сырье
3 Продукт
1 кг
П1 C1 С2 С3 Продукт
2 кг
П2 С11 С21 С31 Продукт
3 кг
П3 С12 С22 С32
Цены
за 1 кг. сырья Поставщик
1
Ц1 Ц2 Ц3 Поставщик
2
Ц11 Ц21 Ц31 Поставщик
3
Ц12 Ц22 Ц32
Рис.
Л10.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
Рис.
Л10.2. Таблица исходных данных для
нулевого варианта
Рис.
Л10.3. Исходная электронная таблица
В исходной ЭТ необходимо выполнить:
Вычисление веса (в кг.) каждого вида сырья в % -ом отношении от выпуска продукции 1, 2, и 3 (ячейки D5:D7; G5:G7; J5:J7 ). Например, в ячейке D5 формула будет иметь вид =B5*C5/100 ;
Затрат на каждое сырье, используя цену за 1кг. (ячейки E5:E7; H5:H7; K5:K7 ). Например, в ячейке Е5 формула будет иметь вид =$E$3*D5, а в ячейке Е8 соответственно =СУММ(E5:E7). Аналогично вычисляются суммы в ячейках H8; K8;
В ячейке L8 предусмотреть формулу суммы ячеек E8; H8; K8;
Добавить к ЭТ в ячейках А10, А11, А12 соответствующие надписи (рис. Л10.4).
Таким образом подготовлена ЭТ для определения затрат на выпуск продукции от 1-го поставщика.
Рис.
Л10.4. ЭТ для определения затрат от 1
- го поставщика
Задание 2. Создание сценария. Для вставки элементов управления в ЭТ необходимо выполнить следующие действия:
1. Открыть панель инструментов ″Visual Basic″, выполнив команды меню Вид, Панели инструментов, Visual Basic .
2. Открыть панель элементов управления, щелкнув в панели инструментов Visual Basic по кнопке ″Элементы управления″.
3. Последовательно установить с помощью мыши четыре кнопки управления
и их свойства согласно таблице Л10.1. При этом активизируется Режим конструктора.
Таблица Л10.1 — Таблица свойств элементов
Элемент управления |
Свойство |
Значение свойства |
Кнопка 1 |
Caption |
Поставщик 1 |
Кнопка 2 |
Caption |
Поставщик 2 |
Кнопка 3 |
Caption |
Поставщик 3 |
Кнопка 4 |
Caption |
Очистка ячеек |
Двойным щелчком мыши по кнопке 1 открыть редактор кода Visual Basic и создать процедуру обработки события первой и т.д. кнопок.
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
Запуск сценария. Вывести Excel из режима конструктора, щелкнув в панели инструментов кнопку ″Выход из режима конструктора ″. Затем щелкать последовательно первые три кнопки на рабочем листе 1. В ячейках D11: D13 выбрать поставщика с минимальными затратами (рис. Л10.4). Кнопка 4 служит для обнуления исходных ячеек.
Рис.
Л10.5.
Результат работы сценария
На листе 2 представить ЭТ с выводом всех формул.