Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 10.06.2012, 18:15   #1
Gfdtk
Новичок
 
Регистрация: 10.06.2012
Сообщений: 1
Репутация: 10
По умолчанию Работа с таблицами (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 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


08:54.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru