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

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Информатика
  • 2121 страница
  • 9 + 9 источников
  • Добавлена 05.06.2010
800 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание:
Задание
Описание переменных
Блок-схема алгоритма
Словесное описание алгоритма
Листинг программы
Этапы работы программы
Список использованной литературы

Фрагмент для ознакомления

если текущее больше, то оно становится max
Next j
Next i
Sheets("Лист2").Cells(17, 3) = max ' выводим максимальное значение

' Ищем минимальное значение по каждому столбцу среди количества изделий, выпеченных бригадами
For j = 1 To 6
min = massiv_col_(1, j) ' к значению минимума присваиваем первое значение в столбце массива
For i = 1 To 11
If massiv_col_(i, j) < min Then min = massiv_col_(i, j) ' сравниваем текущее значение с нашим минимумом. если текущее меньше, то оно становится min
Next i
Sheets("Лист2").Cells(18, 3 + j) = min ' выводим минимальное значение
Next j ' идем по следующему столбцу
' Считаем общую стоимость выпеченных изделий на основе ранее подсчитанных нами данных
Sheets("Лист2").Cells(19, 3) = (Sheets("Лист2").Cells(3, 10) * Sheets("Лист2").Cells(3, 3) + Sheets("Лист2").Cells(4, 10) * Sheets("Лист2").Cells(4, 3) + Sheets("Лист2").Cells(5, 10) * Sheets("Лист2").Cells(5, 3) + Sheets("Лист2").Cells(6, 10) * Sheets("Лист2").Cells(6, 3) + Sheets("Лист2").Cells(7, 10) * Sheets("Лист2").Cells(7, 3) + Sheets("Лист2").Cells(8, 10) * Sheets("Лист2").Cells(8, 3) + Sheets("Лист2").Cells(9, 10) * Sheets("Лист2").Cells(9, 3) + Sheets("Лист2").Cells(10, 10) * Sheets("Лист2").Cells(10, 3) + Sheets("Лист2").Cells(11, 10) * Sheets("Лист2").Cells(11, 3) + Sheets("Лист2").Cells(12, 10) * Sheets("Лист2").Cells(12, 3) + Sheets("Лист2").Cells(13, 10) * Sheets("Лист2").Cells(13, 3)) * Sheets("Лист2").Cells(1, 3) / 1000 ' при подсчете гр переводим в кг
' Прячем форму
UserForm1.Hide
' Переводим пользователя на Лист2
Sheets("Лист2").Select

Exit Sub
' Проверка на правильность расчетных данных
Err:
' Для определения наличия недопустимых значений используем флаги
flag1 = 0 ' флаг на пустую ячейку
flag2 = 0 ' флаг на отрицательное значение в ячейке

For Each cmt In Sheets("Лист2").Range("C3:I13") ' для кажого значения из указанного диапазона
If cmt = "" Then flag1 = 1 ' осуществляем проверку на пустое место
If cmt < 0 Then flag2 = 1 ' осуществляем проверку на отрицательность
Next cmt

' Если ошибки есть и флаг изменил значение на 1, то выводим соответствующие сообщения
If flag1 = 1 Then mess = MsgBox("Среди исходных данных есть пустые ячейки!", vbOK + vbCritical, "Ошибка!")
If flag2 = 1 Then mess = MsgBox("Среди исходных данных есть отрицательные значения!", vbOK + vbCritical, "Ошибка!")
If (flag1 = 0) And (flag2 = 0) Then GoTo NoErr
End Sub
Этапы работы программы
Открытие книги

Выполнение операции «Рассчитать данные»




Выполнение операции «Проверить данные» при наличии пустой ячейки


Выполнение операции «Сортировать»
Выбор варианта сортировки:



Сортировка по расходу теста:

Восстановление исходных данных





Проверка алгоритма
Диалоговое окно проверки алгоритма:

Проверка алгоритма на единицах:




Проверка алгоритма на нулях:

Список использованной литературы:
Вебб Дж. Программирование в Excel 2003.: Пер. с англ. – М.: Кудиц-образ, 2006. – 34с.
Киммел П., Грин Дж., Буллен С. и др. Excel 2003 и VBA: Справочник программиста. Пер. с англ. Под ред. Лещинского О. А. – М.: ИД Вильямс/ Диалектика/Диалектика-Вильямс, 2006. – 1088с.
Мак-Федрис П. Моя первая книга о VBA. Пер. с англ. Минько Ан. А. – М.: ЭКСМО, 2005. – 352с.
Сдвижков О. А. Excel-VBA: Словарь-справочник пользователя. – М.: ЭКСМО, 2008. – 224с.
Уокенбах Джон. Профессиональное программирование на VBA в Excel 2003.: Пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 800с.
Фрай К., Фриз В., Бакингем Ф. Эффективная работа: Программирование в Office Excel 2003. – Спб.: Питер, 2005. – 544с.
http://excelvba.narod.ru/x/faqs_2.htm
http://www.intuit.ru/department/office/vbaexcel/1/
http://www.askit.ru/custom/vba_office/












6



1

Есть ошибки в исходных данных?

Считаем общую массу теста, замешенного бригадами

i+1

i=1

i=4

да

нет

Считаем общее количество изделий, выпеченных бригадами на основе уже имеющихся ранее подсчитанных нами данных

Считаем общий расход теста по столбцу

i+1

i=1

i<12

да

нет

Считаем сумму по каждому столбцу для количества изделий, выпеченных бригадами

i+1

i=1

i=6

да

нет

Считаем произведение по строкам

i+1

i=1

i=11

да

нет

Считываем в массив данные о расходе массе теста, замешенного бригадами

i+1

i=1

i=4

да

нет

Считываем в массив данные о расходе теста по каждому из изделий

i+1

i=1

i=11

да

i+1

Начало

Сохраняем исходные данные на Листе3

j=6

j=1

Считываем в массив данные о количестве изделий, выпеченных бригадами

j+1

i=11

i=1

нет

нет

да

да

нет

Конец

Считаем общую стоимость выпеченных изделий на основе ранее подсчитанных нами данных

выводим минимальное значение

j+1

i=11

j=1

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

i+1

j=6

i=1

нет

нет

да

да

выводим максимальное значение

i+1

j=6

j=1

Ищем максимальное значение среди количества изделий, выпеченных бригадами

j+1

i=11

i=1

нет

нет

да

да

1

нет

да

Список использованной литературы:
1.Вебб Дж. Программирование в Excel 2003.: Пер. с англ. – М.: Кудиц-образ, 2006. – 34с.
2.Киммел П., Грин Дж., Буллен С. и др. Excel 2003 и VBA: Справочник программиста. Пер. с англ. Под ред. Лещинского О. А. – М.: ИД Вильямс/ Диалектика/Диалектика-Вильямс, 2006. – 1088с.
3.Мак-Федрис П. Моя первая книга о VBA. Пер. с англ. Минько Ан. А. – М.: ЭКСМО, 2005. – 352с.
4.Сдвижков О. А. Excel-VBA: Словарь-справочник пользователя. – М.: ЭКСМО, 2008. – 224с.
5.Уокенбах Джон. Профессиональное программирование на VBA в Excel 2003.: Пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 800с.
6.Фрай К., Фриз В., Бакингем Ф. Эффективная работа: Программирование в Office Excel 2003. – Спб.: Питер, 2005. – 544с.
7.http://excelvba.narod.ru/x/faqs_2.htm
8.http://www.intuit.ru/department/office/vbaexcel/1/
9.http://www.askit.ru/custom/vba_office/

Вопрос-ответ:

Что делает программа?

Программа находит максимальное значение в массиве данных и выводит его на лист "Лист2". Затем она находит минимальное значение по каждому столбцу массива и записывает их в соответствующую ячейку на листе "Лист2".

Какие переменные используются в программе?

В программе используются переменные "max" для хранения максимального значения, "min" для хранения минимального значения, "i" и "j" для циклов, "massiv_col" для временного хранения значений столбца массива.

Как выглядит блок-схема алгоритма программы?

На блок-схеме алгоритма программы изображены блоки условий, циклов и операций, включая поиск максимального и минимального значения, присваивание переменным значений и вывод результатов на лист "Лист2".

Как происходит поиск максимального значения в массиве данных?

Поиск максимального значения происходит путем сравнения текущего значения с переменной "max". Если текущее значение больше, оно становится новым максимальным значением.

Как происходит поиск минимального значения по каждому столбцу массива?

Для каждого столбца массива программа сначала присваивает переменной "min" значение первого элемента столбца. Затем она сравнивает текущее значение с переменной "min" и, если оно меньше, присваивает его переменной "min".

Какие переменные описываются в программе на VBA?

В программировании на VBA в среде MS Excel можно использовать различные переменные, включая целочисленные (integer), десятичные (long или double), строковые (string) и логические (boolean) переменные. В данной программе необходимо описать переменные max, min, massiv_col, i и j.

Что изображает блок-схема алгоритма программы на VBA?

Блок-схема алгоритма программы на VBA визуально представляет последовательность выполнения задач. В данной программе блок-схема может содержать блоки для поиска максимального значения, вывода этого значения на втором листе Excel, поиска минимального значения и другие блоки, соответствующие этапам работы программы.