Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2012, 18:15   #1
Gfdtk
Новичок
Джуниор
 
Регистрация: 10.06.2012
Сообщений: 1
По умолчанию Работа с таблицами (VBA)

Помогите пожалуйста доделать курсовую.
Магазин швейных принадлежностей продал за 6 месяцев различное
количество пуговиц (17 наименований) по цене, устанавливаемой в
начале каждого месяца (каждый месяц цены на пуговицы менялись).
Написать программу на языке VBA, которая вводит исходные
данные, выполняет расчеты и выводит на экран:
 исходные данные в виде таблицы, где указаны наименования
пуговиц, цена пуговиц в каждом месяце, количество проданных
пуговиц в течение каждого месяца;
 доход по каждому виду пуговиц за первые 3 месяца;
 доход за каждый месяц по всем пуговицам;
 общий доход по всем пуговицам за 6 месяцев;
 наименование пуговиц, принесших наибольший доход в первом
месяце.
Не могу сделать последний пункт.
Код:
'Объявляем переменые
Dim Max As Double
'Максимальное зачение в первый месяц
 Dim Doh1(17) As Double
'Доход за первый месяц
Dim Cena_n(17, 3) As Double
'Цена пуговиц за 3 месяца
Dim Cena(17, 6) As Double
'Цена пуговиц в каждом месяце
Dim Koll(17, 6) As Integer
'Количество проданых пуговиц за каждый месяц
Dim Dohod(17) As Double
'доход за 3 месяца
Dim Dohod_n(17, 6) As Double
'доход за каждый месяц по всем пуговицам
Dim Itog As Double
'Общий доход за 6 месяцев
Dim name As String
'наименование пуговиц с наибольшим заработком
Dim i As Integer, j As Integer
'счетчики циклов

'присваиваем переменым нулевое значение
For i = 1 To 17
Dohod(i) = 0
Doh1(i) = 0
Next i
For i = 1 To 17
For j = 1 To 6
Dohod_n(i, j) = 0
Next j
Next i
Itog = 0
Max = 0
name = 0
'В этом фрагменте кода происходит считывание начальных данных с листа "Нач_д", и в каждую ячейку массива cena(16,5) записывается стоимость
'каждой пуговицы, а в ячейках двумерного массива koll(16,5) теперь находится количество проданых пуговиц каждого вида, изготовленных в каждый из рабочих дней

Sheets("Нач_д").Select
For i = 1 To 17
For j = 1 To 6
Cena(i, j) = Cells(3 + i, 1 + j)
Next j
Next i
For i = 1 To 17
For j = 1 To 6
Koll(i, j) = Cells(3 + i, 7 + j)
Next j
Next i

'Далее на листе <<Результат>> в ячейку с определенным номером вводится ее название.
Sheets("результат").Select
Sheets("результат").Cells(1, 4) = " ДОХОД "
Sheets("результат").Cells(2, 4) = "МЕСЯЦ"
Sheets("результат").Cells(3, 1) = "Наименование"
Sheets("результат").Cells(3, 2) = "1й"
Sheets("результат").Cells(3, 3) = "2й"
Sheets("результат").Cells(3, 4) = "3й"
Sheets("результат").Cells(3, 5) = "4й"
Sheets("результат").Cells(3, 6) = "5й"
Sheets("результат").Cells(3, 7) = "6й"
Sheets("результат").Cells(2, 8) = "доход за 3 месяца"
Sheets("результат").Cells(4, 1) = "Пуговица1"
Sheets("результат").Cells(5, 1) = "Пуговица2"
Sheets("результат").Cells(6, 1) = "Пуговица3"
Sheets("результат").Cells(7, 1) = "Пуговица4"
Sheets("результат").Cells(8, 1) = "Пуговица5"
Sheets("результат").Cells(9, 1) = "Пуговица6"
Sheets("результат").Cells(10, 1) = "Пуговица7"
Sheets("результат").Cells(11, 1) = "Пуговица8"
Sheets("результат").Cells(12, 1) = "Пуговица9"
Sheets("результат").Cells(13, 1) = "Пуговица10"
Sheets("результат").Cells(14, 1) = "Пуговица11"
Sheets("результат").Cells(15, 1) = "Пуговица12"
Sheets("результат").Cells(16, 1) = "Пуговица13"
Sheets("результат").Cells(17, 1) = "Пуговица14"
Sheets("результат").Cells(18, 1) = "Пуговица15"
Sheets("результат").Cells(19, 1) = "Пуговица16"
Sheets("результат").Cells(20, 1) = "Пуговица17"
Sheets("результат").Cells(21, 1) = "Итого"
Sheets("результат").Cells(22, 1) = "Наибольший доход:"

'В этом фрагменте происходит вывод на рабочий лист доход по каждому виду пуговиц за первые 3 месяца,
'доход за каждый месяц по всем пуговицам, общий доход по всем пуговицам за 6 месяцев, наименование пуговиц,
'принесших наибольший доход в первом месяце.

For i = 1 To 17
 For j = 1 To 6
  Dohod_n(i, j) = Cena(i, j) * Koll(i, j)
   Sheets("результат").Cells(3 + i, 1 + j) = Dohod_n(i, j)
 Next j
   For j = 1 To 3
   Dohod(i) = Dohod(i) + Dohod_n(i, j)
   Sheets("результат").Cells(3 + i, 8) = Dohod(i)
 Next j
Next i
For i = 1 To 17
 For j = 1 To 6
  Itog = Itog + Dohod_n(i, j)
  Sheets("результат").Cells(21, 2) = Itog
 Next j
Next i
 For i = 1 To 17
 Max = Doh1(1)
Doh1(i) = Sheets("результат").Cells(3 + i, 2)
 If Doh1(i) > Max Then
 Max = i
name = Cells(3 + Max, 1)
End If
Next i
 Sheets("результат").Cells(22, 2) = name
End Sub

Последний раз редактировалось Gfdtk; 11.06.2012 в 13:56.
Gfdtk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами, таблицами SnowSin Помощь студентам 0 06.12.2009 16:55
работа с таблицами Petruha-nsk Общие вопросы C/C++ 2 26.04.2009 13:31
Работа с таблицами в DBF ИВэТэшка БД в Delphi 1 20.03.2009 20:50
Работа с таблицами БД Rusl92 БД в Delphi 4 10.04.2008 16:58
работа с таблицами Sexyprogrammist Общие вопросы Delphi 1 15.06.2007 01:00