задание такое:
Книжный магазин продал за 6 месяцев различное количество книг (15 наименований)
по цене, устанавливаемой в начале каждого месяца (т.е. каждый месяц цены на книги
менялись).
Написатьп рограмму на языке VBA, которая вводит исходные данные, выполняет рас-
четы и выводит на экран:
• исходные данные в виде таблицы, где указаны наименования книг, цена книг в
каждом месяце, количество проданных книг за каждый месяц;
• доход по каждой книге за 6 месяцев;
• доход за каждый месяц по всем книгам;
• общий доход по всем книгам за 6 месяцев;
• наименование книги, принесшей наибольший доход.
вот код программы
Код: Выделить всё
Sub kr_Click()
'объявляем переменные используемые в программе
Dim i As Integer, j As Integer, k As Integer 'счетчики циклов
Dim koll(15, 6) As Integer ' количество деталей каждого вида за каждый рабочий день
Dim sm(15) As Double 'заработок за каждый день
Dim amt(15) As Integer 'количество деталей каждого вида за истекший период
Dim itogi(8) As Double
Dim den As Integer 'порядковый номер дня с наибольшим заработком
Dim zarpl As Double 'сумма наибольшего заработка
Dim cena(15, 6) As Double 'стоимость одной изготовленной детали
For i = 1 To 15
amt(i) = 0
sm(i) = 0
Next i
Sheets("Нач_д").Select
Sheets("Нач_д").Range("A4:M20").Select
Selection.Copy
Sheets("Результат").Select
Sheets("Результат").Range("A1:A1").Select
ActiveSheet.Paste
'на листе "Результат" создаются ячейки с определенными названиями
Sheets("Результат").Cells(20, 1) = "Результат"
Sheets("Результат").Cells(21, 1) = "Название книги"
Sheets("Результат").Cells(21, 2) = "1-й месяц"
Sheets("Результат").Cells(21, 3) = "2-й месяц"
Sheets("Результат").Cells(21, 4) = "3-й месяц"
Sheets("Результат").Cells(21, 5) = "4-й месяц"
Sheets("Результат").Cells(21, 6) = "5-й месяц"
Sheets("Результат").Cells(21, 7) = "6-й месяц"
Sheets("Результат").Cells(21, 8) = "Всего продано штук"
Sheets("Результат").Cells(21, 9) = "На сумму"
Sheets("Результат").Cells(22, 1) = "книга1"
Sheets("Результат").Cells(23, 1) = "книга2"
Sheets("Результат").Cells(24, 1) = "книга3"
Sheets("Результат").Cells(25, 1) = "книга4"
Sheets("Результат").Cells(26, 1) = "книга5"
Sheets("Результат").Cells(27, 1) = "книга6"
Sheets("Результат").Cells(28, 1) = "книга7"
Sheets("Результат").Cells(29, 1) = "книга8"
Sheets("Результат").Cells(30, 1) = "книга9"
Sheets("Результат").Cells(31, 1) = "книга10"
Sheets("Результат").Cells(32, 1) = "книга11"
Sheets("Результат").Cells(33, 1) = "книга12"
Sheets("Результат").Cells(34, 1) = "книга13"
Sheets("Результат").Cells(35, 1) = "книга14"
Sheets("Результат").Cells(36, 1) = "книга15"
'во внешнем цикле происходит вывод стоимости одной детали и стоимости всех деталей, произведенных в данный период
For i = 1 To 15
'в этом цикле вычисляется сумма заработков по каждой детали за каждый день
'а также расчет заработной платы за каждый день
For j = 2 To 12 Step 2
k = j \ 2
koll(i, k) = Sheets("Результат").Cells(i + 2, j).Value
cena(i, k) = Sheets("Результат").Cells(i + 2, j + 1).Value
Sheets("Результат").Cells(21 + i, k + 1) = koll(i, k) * cena(i, k)
amt(i) = amt(i) + koll(i, k)
sm(i) = sm(i) + Sheets("Результат").Cells(21 + i, 1 + k)
Next j
Sheets("Результат").Cells(21 + i, 8) = amt(i)
Sheets("Результат").Cells(21 + i, 9) = sm(i)
Next i
'в данном цикле происходит выбор суммы наибольшего заработка и соответственно
'день с максимальным заработком становится день j (день, в который был получен максимальный доход)
'For j = 1 To 6
' Sheets("Результат").Cells(22, 2 + j) = zar(j)
'If zar(j) > zarpl Then
' zarpl = zar(j)
' den = j
'End If
'Next
'в соответствующие ячейки выводятся заработок рабочего за неделю, день с максимальным доходом и размер дохода в этот день
'Sheets("Результат").Select
'Sheets("Результат").Cells(22, 8) = zar(6)
'Sheets("Результат").Cells(23, 1) = "Заработок за неделю"
'Sheets("Результат").Cells(23, 5) = zar(6)
'Sheets("Результат").Cells(24, 1) = "День с максимальным заработком"
'Sheets("Результат").Cells(24, 5) = den
'Sheets("Результат").Cells(24, 6) = "Заработано"
'Sheets("Результат").Cells(24, 8) = zarpl
End Sub