Программирование на VBA в среде MS Excel

Федеральное агентство по образованию

Государственное образовательное учреждение

Высшего профессионального образования

Московский государственный индустриальный университет

(ГОУ МГИУ)

Кафедра информационных технологий и систем в экономике и управлении

Реферат

По специальности “Информатика”

На тему “Программирование на VBA в среде MS Excel””

Группа 08Ф21

Студент Л. Н. Ибатуллина

Руководитель проекта,

Доцент, к. э.н. С. В. Суворов

Москва – 2009

Содержание

Задание на курсовую работу

Описание переменных

Описание алгоритма

Листинг программы

Список литературы

Задание на курсовую работу

На складе мастерской индивидуального пошива имеются запасы 12-ти видов ткани. За каждый рабочий день (6 дней) расходилось некоторое кол-во ткани каждого вида.

Написать программу на языке VBA, которая выводит исходные данные, выполняет расчеты и выводит на экран:

– Исходные данные в виде таблицы, где перечисленные наименования ткани, цена ткани, расход каждого вида ткани каждый день в метрах.

– Расход каждого вида ткани за неделю.

– Стоимость всей израсходованной ткани за день.

– Общая стоимость всей израсходованной ткани за неделю.

– Наименование самой ходовой ткани.

Описание переменных

Исходные данные находятся на листе “исх_д.” и содержат следующую информацию:

Naz (12) – наименование ткани

Dimnaz (12) AsString

Cena (12) – стоимость ткани за м.

Dimcena (12) AsDouble

Ras (12,6) – расход каждого вида ткани каждый день в метрах

Dimras (12,6) AsDouble

Traiti (12,8) – стоимость каждого вида ткани за день

Dimtrati (12,6) AsDouble

O_stoim – общая стоимость всей израсходованной ткани за неделю

Dimo_stoimAsDouble

O_ras (12) – общий расход каждого вида ткани за неделю в м.

Dimo_ras (12) AsDouble

O_trati (6) – общая стоимость всей израсходованной ткани за день

Dimo_trati (6) AsDouble

I, 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 String

Dim cena (12) As Double

Dim ras (12,6) As Double

Dim o_ras (12) As Double

Dim o_trati (6) As Double

Dim trati (12,6) As Double

Dim o_stoim As Double

Dim k As Integer

Dim max As Double

‘Далее всем переменным присваивается нулевое значение.

For i = 0 To 11

O_ras (i) = 0

Next i

For j = 0 To 5

O_trati (j) = 0

Next j

O_stoim = 0

‘ввод данных

For i = 0 To 11

Naz (i) = Worksheets (“исходные данные”).Cells (4 + i, 1)

Cena (i) = Worksheets (“исходные данные”).Cells (4 + i,

2)

Next i

For i = 0 To 11

For j = 0 To 5

Ras (i, j) = Worksheets (“исходные данные”).Cells (4 + i, 3 + j)

Next j

Next i

‘решение

‘Находим “общий расход” каждого вида ткани за неделю

For i = 0 To 11

For j = 0 To 5

O_ras (i) = o_ras (i) + ras (i, j)

Next j

Next i

‘находим стоимость каждого вида ткани за день

For i = 0 To 11

For j = 0 To 5

Trati (i, j) = cena (i) * ras (i, j)

Next j

Next i

‘находим общую стоимость всей израсходованной ткани за день

For j = 0 To 5

For i = 0 To 11

O_trati (j) = o_trati (j) + trati (i, j)

Next i

Next j

‘находим общую стоимость всей израсходованной ткани за неделю

For j = 0 To 5

O_stoim = o_stoim + o_trati (j)

Next j

K = 0

‘максимуму присваиваем o_ras (k)

Max = o_ras (k)

For i = 1 To 11

If o_ras (i) > max Then

Max = o_ras (i)

K = i

End If

Next 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 11

Worksheets (“результат”).Cells (4 + i, 1) = naz (i)

Worksheets (“результат”).Cells (4 + i,

2) = cena (i)

Next i

For i = 0 To 11

For j = 0 To 5

Worksheets (“результат”).Cells (4 + i, 3 + j) = ras (i, j)

Worksheets (“результат”).Cells (35,2) = o_stoim

Worksheets (“результат”).Cells (34,2) = o_trati

Next j

Next i

For i = 0 To 11

For j = 0 To 5

Worksheets (“результат”).Cells (22 + i, 2 + j) = trati (i, j)

Next j

Next i

End Sub

Private Sub CommandButton2_Click ()

Worksheets (“результат”).Cells. Clear

End Sub

Таблица 1.

Название изделияЦена 1м.Расход
1-ый день2-ой день3-ий день4-ый день5-ый день6-ой день
Хлопок95263423
Шелк110474563
Атлас70632435
Кашемир120165344
Лен100344233
Вельвет65852135
Драп55733242
Шерсть75324421
Лаке90653532
Мохер80421343
Органза85973264
Деним60423143
Решить
Очистить

Таблица 2.

Название изделияЦена 1мРасход
1-ый день2-ой день3-ий день4-ый день5-ый день6-ой деньОбщий расход
Хлопок9526342320
Шелк11047456329
Атлас7063243523
Кашемир12016534423
Лен10034423319
Вельвет6585213524
Драп5573324221
Шерсть7532442116
Лаке9065353224
Мохер8042134317
Органза8597326431
Деним6042314317

Таблица 3.

Цена 1мТраты
1-ый день2-ой день3-ий день4-ый день5-ый день6-ой деньОбщий расход
Хлопок1905702853801902854752185
Шелк4407704405506603304403190
Атлас4202101402802103501401330
Кашемир1207206003604804806003240
Лен3004004002003003003001900
Вельвет52032513065195325651105
Драп385165165110220110220990
Шерсть225150300300150751501125
Лаке5404502704502701802701890
Мохер32016080240320240801120
Органза7655952551705103402552125
Деним24012018060240180120900
Общие траты446546353245316537453195311521100
общая стоимость28155281552815528155281552815528155168930
Самая ходовая тканьОрганза

Список литературы

1. Иванов М. И, Суворов С. В. Информатика. Часть2. Программирование. – Москва 2004.

2. Конспект курса лекционных и практических занятий в МГИУ.


Программирование на VBA в среде MS Excel