Помогите пожалуйста с программой, с этим заданием сижу уже вторую неделю.
Задание
Фабрика "GRM pic" выпускает два вида каш для завтрака -"Crunchy" и "Chewy". Используемые в производстве обоих продук¬тов ингредиенты в основном одинаковы и, как правило, не являются дефицитными. На настоящий момент нет никаких ограничений на возможные объемы продаж. Имеется возможность продать всю произведенную продукцию. В табл. К 13.1 указано число человеко-часов, требуемое для производства 1 т продукта, доход ($) от производства 1 т продукта каждого вида и объем выпуска (т) за месяц.
Требуется составить макрос для подсчета фонда рабочего времени, необходимого на изготовление всей продукции в каждом цехе, и дохода от реализации продукции каждого вида. Макрос должен выполнять вычисления для произвольного числа видов работ и продукции и записывать вычисленные значения затрат времени в колонку, следующую за последней колонкой таблицы, а вычисленные значения дохода - в строку, следующую за последней строкой. Результаты вычислений приведены в табл. К 13.2.
Для подготовки контрольного примера №2 необходимо добавить несколько строк дополнительных видов работ и несколько колонок дополнительной продукции, ввести данные норм расхода рабочего времени на 1 т продукта каждого вида, дохода от производства 1 т продукта и объема выпуска.
Подскажите в чем ошибка, не хочет считать нижнюю строку по доходу.
Правый столбец где "затраты.." еще не пробовал.
Код программы
Public Sub GRM_pic()
'В макросе используются следующие переменные:
'М- номер последней заполненной строки
'N - номер последней заполненной колонки
'i- номер текущей строки
'j - номер текущей колонки
'Sum - суммарное количество сырья каждого вида (кг)
Dim M As Long, N As Long, i As Long, j As Long, Money As Single
'1. Найдем номер последней заполненной строки
i = 1
Do ' Цикл до тех пор, пока не встретится пустая строка
' Cells(i, 3) - обращение к ячейке в текущей строке i и в 3 колонке
If CStr(Cells(i, 3)) = "" Then
M = i - 1
Exit Do ' Выход из цикла
Else
i = i + 1 ' Увеличение номера строки на 1
End If
Loop
'2. Найдем номер последней заполненной колонки
j = 1
Do ' Цикл до тех пор, пока не встретится пустая колонка
' Cells(3, j) - обращение к ячейке в 3 строке и в текущей колонке j
If CStr(Cells(3, j)) = "" Then
N = j - 1
Exit Do ' Выход из цикла
Else
j = j + 1 ' Увеличение номера колонки на 1
End If
Loop
'3. Вставка заголовка для строки.
' Функция Chr(10) переводит курсор в начало новой строки
' данной ячейки
Cells(M + 1, 1) = "Доход ($) от производства " & Chr(10) & "продукта за месяц"
For j = 2 To N ' Цикл по колонкам
For i = 3 To M ' Цикл по строкам
' Cells(i, 2) - обращение к ячейке в текущей строке i и во 2 колонке
' Cells(i, j) - обращение к ячейке в текущей строке i и в текущей
' колонке j
Money = Cells(i, 2) * Cells(i, j)
Next i
' Задание полужирного начертания шрифта
Cells(M + 1, j).Font.Bold = True
' Задание горизонтального выравнивания в ячейке
Cells(M + 1, j).HorizontalAlignment = xlHAlignCenter
' Запись вычисленного планового расхода
Cells(M + 1, j) = Money
Next j
End Sub
[вложение удалено администратором]
[вложение удалено администратором]
Внесите эти изменения, если не получится, то я дальше посмотрю.
В ходе чтения кода я изменял оформление кода, поэтому используйте код в таком виде, как я сделал.
Код вы можете взять из первого сообщения, из самого сообщения и из файла (я файл перевложил).