Вход

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

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 324140
Дата создания 08 июля 2013
Страниц 21
Мы сможем обработать ваш заказ (!) 16 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 310руб.
КУПИТЬ

Содержание

Содержание:
Задание
Описание переменных
Блок-схема алгоритма
Словесное описание алгоритма
Листинг программы
Этапы работы программы
Список использованной литературы

Введение

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

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

' Считаем общую стоимость выпеченных изделий на основе ранее подсчитанных нами данных
Cells(19, 3) = (Cells(3, 10) * Cells(3, 3) + Cells(4, 10) * Cells(4, 3) + Cells(5, 10) * Cells(5, 3) + Cells(6, 10) * Cells(6, 3) + Cells(7, 10) * Cells(7, 3) + Cells(8, 10) * Cells(8, 3) + Cells(9, 10) * Cells(9, 3) + Cells(10, 10) * Cells(10, 3) + Cells(11, 10) * Cells(11, 3) + Cells(12, 10) * Cells(12, 3) + Cells(13, 10) * Cells(13, 3)) * Cells(1, 3) / 1000 ' при подсчете гр переводим в кг
End Sub
2. Проверить данные
Private Sub CommandButton2_Click()
' Для определения наличия недопустимых значений используем флаги
flag1 = 0 ' флаг на пустую ячейку
flag2 = 0 ' флаг на отрицательное значение в ячейке
For Each cmt In Range("C3:I13") ' для кажого значения из указанного диапазона
If cmt = "" Thenflag1 = 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, "Ошибка!")
End Sub
3. Сортировать
Private Sub CommandButton3_Click()
' Вызываем диалоговое окно пользователя (форму сортировки)
UserForm2.Show
End Sub
Листинг UserForm2:
Private Sub CommandButton1_Click()
' Сортируем данные в таблице в зависимости от выбранного пользователем варианта в соответствии с ключом (номером ячейки-заголовка)
If OptionButton1.Value = True Then Range("A3:I13").Sort Key1:=Range("C2")
If OptionButton2.Value = True Then Range("A3:I13").Sort Key1:=Range("D2")
If OptionButton3.Value = True Then Range("A3:I13").Sort Key1:=Range("E2")
If OptionButton4.Value = True Then Range("A3:I13").Sort Key1:=Range("F2")
If OptionButton5.Value = True Then Range("A3:I13").Sort Key1:=Range("G2")
If OptionButton6.Value = True Then Range("A3:I13").Sort Key1:=Range("H2")
If OptionButton7.Value = True Then Range("A3:I13").Sort Key1:=Range("I2")
' Прячем форму
UserForm2.Hide
End Sub
4. Восстановить исходные данные
Private Sub CommandButton4_Click()
' Восстанавливаем исходные данные путем копирования с Листа3 на Лист1
Sheets("Лист3").Range("A1:P19").Copy Sheets("Лист1").Range("A1:P19")
' Очищаем все рассчеты
Range("C14:I19").Clear
Range("J3:J13").Clear
End Sub
5. Проверить правильность работы алгоритма
Private Sub CommandButton5_Click()
' Вызываем диалоговое окно пользователя (форму проверки алгоритма)
UserForm1.Show
End Sub
Листинг UserForm1:
Private Sub CommandButton1_Click()
' Копируем исходные данные с Листа1 на Лист2
Sheets("Лист1").Range("A1:P19").Copy Sheets("Лист2").Range("A1:P19")
' Если выбран вариант "Проверить на 1"
If OptionButton1.Value = True Then
For Each cell In Sheets("Лист2").Range("C3:I13")
cell.Value = "1" ' меняем все значения в ячейках на 1
Next cell
For Each cell In Sheets("Лист2").Range("K3:P3")
cell.Value = "1"
Next cell
Else
' Иначе если выбран вариант "Проверить на 0"
For Each cell In Sheets("Лист2").Range("C3:I13")
cell.Value = "0" ' меняем все значения в ячейках на 0
Next cell
For Each cell In Sheets("Лист2").Range("K3:P3")
cell.Value = "0"
Next cell
End If
' Считываем в массив данные о количестве изделий, выпеченных бригадами
For i = 1 To 11
For j = 1 To 6
massiv_col_(i, j) = Sheets("Лист2").Cells(2 + i, 3 + j)
Next j
Next i
' Считываем в массив данные о расходе теста по каждому из изделий
For i = 1 To 11
massiv_rasx_(i) = Sheets("Лист2").Cells(2 + i, 3)
Next i
' Считываем в массив данные о расходе массе теста, замешенного бригадами
For i = 1 To 4
massiv_massa_(i) = Sheets("Лист2").Cells(3, 10 + i)
Next i
' Считаем сумму по кажой строке для количества изделий, выпеченных бригадами
For i = 1 To 11 ' идем только по строке
Sheets("Лист2").Cells(2 + i, 10) = massiv_col_(i, 1) + massiv_col_(i, 2) + massiv_col_(i, 3) + massiv_col_(i, 4) + massiv_col_(i, 5) + massiv_col_(i, 6)
Next i
' Считаем сумму по каждому столбцу для количества изделий, выпеченных бригадами
For i = 1 To 6 ' идем только по столбцу
Sheets("Лист2").Cells(14, 3 + i) = massiv_col_(1, i) + massiv_col_(2, i) + massiv_col_(3, i) + massiv_col_(4, i) + massiv_col_(5, i) + massiv_col_(6, i) + massiv_col_(7, i) + massiv_col_(8, i) + massiv_col_(9, i) + massiv_col_(10, i) + massiv_col_(11, i)
Next i
' Считаем общий расход теста по столбцу
Sheets("Лист2").Cells(14, 3) = ""
i = 1
Do While i < 12
Sheets("Лист2").Cells(14, 3) = massiv_rasx_(i) + Sheets("Лист2").Cells(14, 3) ' к предыдущему значению прибавляем текущее
i = i + 1 ' наращиваем счетчик (переходим к следующему виду изделия)
Loop
' Считаем общее количество изделий, выпеченных бригадами на основе уже имеющихся ранее подсчитанных нами данных
Sheets("Лист2").Range("C15").Formula = "=SUM(J3:J13)" ' Используем встроенную формулу СУММ
' Считаем общую массу теста, замешенного бригадами

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

Список использованной литературы:
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/

Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00461
© Рефератбанк, 2002 - 2024