|
Программирование на VBA в среде MS Excel
Программирование на VBA в среде MS Excel
8 Федеральное агентство по образованию Государственное образовательное учреждение Высшего профессионального образования Московский государственный индустриальный университет (ГОУ МГИУ) Кафедра информационных технологий и систем в экономике и управлении Реферат по специальности "Информатика" на тему "Программирование на VBA в среде MS Excel"" Группа 08Ф21 Студент Л.Н. Ибатуллина Руководитель проекта, доцент, к.э.н. С.В. Суворов Москва - 2009 Содержание - Задание на курсовую работу
- Описание переменных
- Описание алгоритма
- Листинг программы
- Список литературы
Задание на курсовую работуНа складе мастерской индивидуального пошива имеются запасы 12-ти видов ткани. За каждый рабочий день (6 дней) расходилось некоторое кол-во ткани каждого вида.Написать программу на языке VBA, которая выводит исходные данные, выполняет расчеты и выводит на экран:· Исходные данные в виде таблицы, где перечисленные наименования ткани, цена ткани, расход каждого вида ткани каждый день в метрах.· Расход каждого вида ткани за неделю.· Стоимость всей израсходованной ткани за день.· Общая стоимость всей израсходованной ткани за неделю.· Наименование самой ходовой ткани.Описание переменныхИсходные данные находятся на листе "исх_д." и содержат следующую информацию:Naz (12) - наименование тканиDim naz (12) As StringCena (12) - стоимость ткани за м.Dim cena (12) As DoubleRas (12,6) - расход каждого вида ткани каждый день в метрахDim ras (12,6) As DoubleTraiti (12,8) - стоимость каждого вида ткани за деньDim trati (12,6) As Doubleo_stoim - общая стоимость всей израсходованной ткани за неделюDim o_stoim As Doubleo_ras (12) - общий расход каждого вида ткани за неделю в м.Dim o_ras (12) As Doubleo_trati (6) - общая стоимость всей израсходованной ткани за деньDim o_trati (6) As DoubleI, j - вспомогательные переменные счетчики цикла являющимися целыми числамиMax, k - вспомогательная переменная для нахождения самой "ходовой" тканиБлок - схема нет даОписание алгоритмаВвод начальных (нулевых) значений для расчетных величин (стоимость израсходованной ткани за день, расход за неделю, общая стоимость всей израсходованной ткани за неделю, цена каждого вида ткани).Чтение с листа "Исходные данные" значение в naz (12) и ras (12,6).Расчет расхода каждого вида ткани за неделю производиться путем сложения расходов ткани ежедневно. Организуется два вложенных цикла. Во внутреннем цикле суммируется расход ткани по каждому дню, после выхода из внутреннего цикла выводиться результат по тканям.Определение стоимости всей израсходованной ткани за день производиться путем умножения цены ткани на количество израсходованной ткани. Организуется два вложенных цикла. Во внутреннем перемножается стоимость ткани и ее количество, после выхода из внутреннего цикла выводится результат по каждой ткани.Расчет общей стоимости всей израсходованной ткани каждого вида за неделю производится путем сложения стоимости израсходованной ткани по дням. Организуется два вложенных цикла. Во внутреннем цикле суммируется стоимость всей израсходованной ткани за день, после выхода из внутреннего цикла выводится результат по всем тканям.Определение самой "Ходовой ткани". Для этого используется два массива одинаковой размерности: "ras (12)" - в котором лежат количественные значения и "naz (12)" - в котором лежат названия тканей, а также две переменных "max" - в которой лежит максимальное значение ткани и "k " - порядковый номер ячейки с максимальным значением израсходованной ткани. На первом шаге мы предполагаем, что в первой ячейке массива "o_ras (i) находиться максимальное значение ложем его в переменную "max" и записываем номер ячейки в "k". На втором шаге мы начинаем сравнивать значение, содержащееся в "max" со значениями остальных ячеек, начиная с первой. Если мы нашли, что в какой - то ячейке значение больше, чем "max", то тогда это значение ложем в переменную "max" и записываем номер ячейки в "k".После того как мы прошли весь массив "ras (12)" и нашли максимальное значение, помощи переменной "k " мы берем из массива naz (12) наименование самой расходуемой ткани.Листинг программыPrivate Sub CommandButton1_Click ()'объявление и обнуление'Сначала объявляем переменные, используемые в программе.Dim naz (12) As StringDim cena (12) As DoubleDim ras (12,6) As DoubleDim o_ras (12) As DoubleDim o_trati (6) As DoubleDim trati (12,6) As DoubleDim o_stoim As DoubleDim k As IntegerDim max As Double'Далее всем переменным присваивается нулевое значение.For i = 0 To 11o_ras (i) = 0Next iFor j = 0 To 5o_trati (j) = 0Next jo_stoim = 0'ввод данныхFor i = 0 To 11naz (i) = Worksheets ("исходные данные").Cells (4 + i, 1)cena (i) = Worksheets ("исходные данные").Cells (4 + i,2)Next iFor i = 0 To 11For j = 0 To 5ras (i, j) = Worksheets ("исходные данные").Cells (4 + i, 3 + j)Next jNext i'решение'Находим "общий расход" каждого вида ткани за неделюFor i = 0 To 11For j = 0 To 5o_ras (i) = o_ras (i) + ras (i, j)Next jNext i'находим стоимость каждого вида ткани за деньFor i = 0 To 11For j = 0 To 5trati (i, j) = cena (i) * ras (i, j)Next jNext i'находим общую стоимость всей израсходованной ткани за деньFor j = 0 To 5For i = 0 To 11o_trati (j) = o_trati (j) + trati (i, j)Next iNext j'находим общую стоимость всей израсходованной ткани за неделюFor j = 0 To 5o_stoim = o_stoim + o_trati (j)Next jk = 0'максимуму присваиваем o_ras (k)max = o_ras (k)For i = 1 To 11If o_ras (i) > max Thenmax = o_ras (i)k = iEnd IfNext i'вывод'На листе "результат" в ячейку с определенным номером вводится ее названиеWorksheets ("результат").Cells (2, 1) = "Название изделия"Worksheets ("результат").Cells (2,2) = "Цена 1м."Worksheets ("результат").Cells (2,6) = "Расход"Worksheets ("результат").Cells (3,3) = "1-ый день"Worksheets ("результат").Cells (3,4) = "2-ой день"Worksheets ("результат").Cells (3,5) = "3-ий день"Worksheets ("результат").Cells (3,6) = "4-ый день"Worksheets ("результат").Cells (3,7) = "5-ый день"Worksheets ("результат").Cells (3,8) = "6-ой день"Worksheets ("результат").Cells (3,11) = "общий расход"Worksheets ("результат").Cells (20,5) = "траты"Worksheets ("результат").Cells (34, 1) = "общие траты"Worksheets ("результат").Cells (35, 1) = " общая стоимость"Worksheets ("результат").Cells (36,2) = naz (k)Worksheets ("результат").Cells (36, 1) = "самая ходовая ткань"'В этом фрагменте происходит вывод на рабочий лист общего расходаFor i = 0 To 11Worksheets ("результат").Cells (4 + i, 1) = naz (i)Worksheets ("результат").Cells (4 + i,2) = cena (i)Next iFor i = 0 To 11For j = 0 To 5Worksheets ("результат").Cells (4 + i, 3 + j) = ras (i, j)Worksheets ("результат").Cells (35,2) = o_stoimWorksheets ("результат").Cells (34,2) = o_tratiNext jNext iFor i = 0 To 11For j = 0 To 5Worksheets ("результат").Cells (22 + i, 2 + j) = trati (i, j)Next jNext iEnd SubPrivate Sub CommandButton2_Click ()Worksheets ("результат").Cells.ClearEnd SubТаблица 1.|
Название изделия | Цена 1м. | Расход | | | | 1-ый день | 2-ой день | 3-ий день | 4-ый день | 5-ый день | 6-ой день | | Хлопок | 95 | 2 | 6 | 3 | 4 | 2 | 3 | | Шелк | 110 | 4 | 7 | 4 | 5 | 6 | 3 | | Атлас | 70 | 6 | 3 | 2 | 4 | 3 | 5 | | Кашемир | 120 | 1 | 6 | 5 | 3 | 4 | 4 | | Лён | 100 | 3 | 4 | 4 | 2 | 3 | 3 | | Вельвет | 65 | 8 | 5 | 2 | 1 | 3 | 5 | | Драп | 55 | 7 | 3 | 3 | 2 | 4 | 2 | | Шерсть | 75 | 3 | 2 | 4 | 4 | 2 | 1 | | Лаке | 90 | 6 | 5 | 3 | 5 | 3 | 2 | | Мохер | 80 | 4 | 2 | 1 | 3 | 4 | 3 | | Органза | 85 | 9 | 7 | 3 | 2 | 6 | 4 | | Деним | 60 | 4 | 2 | 3 | 1 | 4 | 3 | | | | | | | | | | | Решить | Очистить | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Таблица 2. |
Название изделия | Цена 1м | Расход | | | | | 1-ый день | 2-ой день | 3-ий день | 4-ый день | 5-ый день | 6-ой день | общий расход | | Хлопок | 95 | 2 | 6 | 3 | 4 | 2 | 3 | 20 | | Шелк | 110 | 4 | 7 | 4 | 5 | 6 | 3 | 29 | | Атлас | 70 | 6 | 3 | 2 | 4 | 3 | 5 | 23 | | Кашемир | 120 | 1 | 6 | 5 | 3 | 4 | 4 | 23 | | Лён | 100 | 3 | 4 | 4 | 2 | 3 | 3 | 19 | | Вельвет | 65 | 8 | 5 | 2 | 1 | 3 | 5 | 24 | | Драп | 55 | 7 | 3 | 3 | 2 | 4 | 2 | 21 | | Шерсть | 75 | 3 | 2 | 4 | 4 | 2 | 1 | 16 | | Лаке | 90 | 6 | 5 | 3 | 5 | 3 | 2 | 24 | | Мохер | 80 | 4 | 2 | 1 | 3 | 4 | 3 | 17 | | Органза | 85 | 9 | 7 | 3 | 2 | 6 | 4 | 31 | | Деним | 60 | 4 | 2 | 3 | 1 | 4 | 3 | 17 | | |
Таблица 3. |
| Цена 1м | траты | | | | | 1-ый день | 2-ой день | 3-ий день | 4-ый день | 5-ый день | 6-ой день | общий расход | | Хлопок | 190 | 570 | 285 | 380 | 190 | 285 | 475 | 2185 | | Шелк | 440 | 770 | 440 | 550 | 660 | 330 | 440 | 3190 | | Атлас | 420 | 210 | 140 | 280 | 210 | 350 | 140 | 1330 | | Кашемир | 120 | 720 | 600 | 360 | 480 | 480 | 600 | 3240 | | Лён | 300 | 400 | 400 | 200 | 300 | 300 | 300 | 1900 | | Вельвет | 520 | 325 | 130 | 65 | 195 | 325 | 65 | 1105 | | Драп | 385 | 165 | 165 | 110 | 220 | 110 | 220 | 990 | | Шерсть | 225 | 150 | 300 | 300 | 150 | 75 | 150 | 1125 | | Лаке | 540 | 450 | 270 | 450 | 270 | 180 | 270 | 1890 | | Мохер | 320 | 160 | 80 | 240 | 320 | 240 | 80 | 1120 | | Органза | 765 | 595 | 255 | 170 | 510 | 340 | 255 | 2125 | | Деним | 240 | 120 | 180 | 60 | 240 | 180 | 120 | 900 | | общие траты | 4465 | 4635 | 3245 | 3165 | 3745 | 3195 | 3115 | 21100 | | общая стоимость | 28155 | 28155 | 28155 | 28155 | 28155 | 28155 | 28155 | 168930 | | самая ходовая ткань | Органза | | | | | | | | | | Список литературы1. Иванов М. И, Суворов С.В. Информатика. Часть2. Программирование. - Москва 2004. 2. Конспект курса лекционных и практических занятий в МГИУ.
|
|