Добрый день ! ошибка run time error 9 при выполнении программы ,я чайник делаю курсовую работу может кто поможет [vba]
Код
Sub prodaga_igr() Dim cena(5, 4) As Double 'стоимость игры в каждом месяце Dim kol(5, 4) As Integer 'количество игр в каждом месяце Dim dohod_1(5) As Double 'доход от каждой игры за 1 месяц Dim dohod_n(5, 4) As Double 'доход за каждый месяц по всем играм Dim dohod_o As Double 'доход за 4 месяца от всех игр Dim igra As Integer ' игра с наименьшим доходом Dim i As Integer, j As Integer ' переменные
For i = 1 To 5 dohod_1(i) = 0 Next
For j = 1 To 8 Step 2 dohod_n(i, j) = 0 Next
dohod_o = 0
Sheets("Нач_д").Select For i = 1 To 5 For j = 1 To 8 Step 2 cena(i, j) = Cells(3 + i, 1 + j) Next j Next i
For i = 1 To 5 For j = 1 To 8 Step 2 kol(i, j) = Cells(3 + i, 2 + j) Next j Next i
For i = 1 To 5 Cells(3 + i, 2) = cena(i, j) Cells(3 + i, 3) = kol(i, j) dohod_1(i) = cena(i, j) * kol(i, j) Cells(3 + i, 4) = dohod_1(i) Next i
End Sub
[/vba] [moder]Оформите код тегами (кнопка #)[/moder] [moder]И файл приложите
Добрый день ! ошибка run time error 9 при выполнении программы ,я чайник делаю курсовую работу может кто поможет [vba]
Код
Sub prodaga_igr() Dim cena(5, 4) As Double 'стоимость игры в каждом месяце Dim kol(5, 4) As Integer 'количество игр в каждом месяце Dim dohod_1(5) As Double 'доход от каждой игры за 1 месяц Dim dohod_n(5, 4) As Double 'доход за каждый месяц по всем играм Dim dohod_o As Double 'доход за 4 месяца от всех игр Dim igra As Integer ' игра с наименьшим доходом Dim i As Integer, j As Integer ' переменные
For i = 1 To 5 dohod_1(i) = 0 Next
For j = 1 To 8 Step 2 dohod_n(i, j) = 0 Next
dohod_o = 0
Sheets("Нач_д").Select For i = 1 To 5 For j = 1 To 8 Step 2 cena(i, j) = Cells(3 + i, 1 + j) Next j Next i
For i = 1 To 5 For j = 1 To 8 Step 2 kol(i, j) = Cells(3 + i, 2 + j) Next j Next i
вот задание которое надо сделать. Задание 76 Магазин «Компьютерные аксессуары» продал за 4 месяца различное количество компьютерных игр 5 наименований (цена в течение месяца не меняется). Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран: исходные данные в виде таблицы, где указаны наименования игр, цена игр в каждом месяце, кол-во проданных игр за каждый месяц доход от каждой игры за первый месяц; доход за каждый месяц по всем играм; общий доход от всех игр за 4 месяца; наименование игры, принесший наименьший доход за все время. в пристежке файл примера а вот его задание В течение пяти дней (рабочая неделя) рабочий изготавливает детали семи различных типов. Известно количество изготовленных им деталей за каж-дый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется). Написать программу, которая вводит данные, выполняет расчет и выво-дит на экран: • исходные данные в виде таблицы, где перечислены наименования де¬талей, стоимость изготовления, количество деталей, изготовленных за каждый день; • количество деталей каждого типа, изготовленных за неделю; • заработок за каждый день; • день с наибольшим заработком
вот задание которое надо сделать. Задание 76 Магазин «Компьютерные аксессуары» продал за 4 месяца различное количество компьютерных игр 5 наименований (цена в течение месяца не меняется). Написать программу на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит на экран: исходные данные в виде таблицы, где указаны наименования игр, цена игр в каждом месяце, кол-во проданных игр за каждый месяц доход от каждой игры за первый месяц; доход за каждый месяц по всем играм; общий доход от всех игр за 4 месяца; наименование игры, принесший наименьший доход за все время. в пристежке файл примера а вот его задание В течение пяти дней (рабочая неделя) рабочий изготавливает детали семи различных типов. Известно количество изготовленных им деталей за каж-дый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется). Написать программу, которая вводит данные, выполняет расчет и выво-дит на экран: • исходные данные в виде таблицы, где перечислены наименования де¬талей, стоимость изготовления, количество деталей, изготовленных за каждый день; • количество деталей каждого типа, изготовленных за неделю; • заработок за каждый день; • день с наибольшим заработкомalex79
Решения я Вам не даю, но информацию к размышлению подкину. Как раз по п.2 из ссылки выше. Перво-наперво, если Вы объявляете массив как Dim dohod_1(5), то это означает, что у него не 5, а 6!!! элементов. 0,1,2,3,4,5. Если же Вы хотите заполнять циклом For i = 1 To 5 (5 штук), то Вам нужно перед Sub написать строку Option Base 1 - указание, что массивы считаем не с нуля, а с единицы. Далее - Цикл по j у Вас до 8, а dohod_n(5, 4) - до четырех. Ну и ниже из этой же серии косяки.
Решения я Вам не даю, но информацию к размышлению подкину. Как раз по п.2 из ссылки выше. Перво-наперво, если Вы объявляете массив как Dim dohod_1(5), то это означает, что у него не 5, а 6!!! элементов. 0,1,2,3,4,5. Если же Вы хотите заполнять циклом For i = 1 To 5 (5 штук), то Вам нужно перед Sub написать строку Option Base 1 - указание, что массивы считаем не с нуля, а с единицы. Далее - Цикл по j у Вас до 8, а dohod_n(5, 4) - до четырех. Ну и ниже из этой же серии косяки._Boroda_
У меня на вкладке нач_д таблица куда вбиваем данные а на вкладке результат должно выйти две таблицы которые я для примера нарисовал на лист 3 ,фрагмент программы который я вам показал заполняет тока первую маленькую таблицу. цикл до 8 с шагом 2 я сделал из соображений у меня данные записываются через столбец как видно из таблицы, прилагаю свой файл в пристежке
У меня на вкладке нач_д таблица куда вбиваем данные а на вкладке результат должно выйти две таблицы которые я для примера нарисовал на лист 3 ,фрагмент программы который я вам показал заполняет тока первую маленькую таблицу. цикл до 8 с шагом 2 я сделал из соображений у меня данные записываются через столбец как видно из таблицы, прилагаю свой файл в пристежкеalex79
Dim dohod_n(5, 4) As Double 'доход за каждый месяц по всем играм
то цикл по j должен быть внутри цикла по i. В данном случае. А если в общем, то это нормально. Редко используется (обычно переменная окончания есть уже в записи For i=1 to n), но почему бы и нет?
Dim dohod_n(5, 4) As Double 'доход за каждый месяц по всем играм
то цикл по j должен быть внутри цикла по i. В данном случае. А если в общем, то это нормально. Редко используется (обычно переменная окончания есть уже в записи For i=1 to n), но почему бы и нет?_Boroda_
я совсем запутался сколько будет стоит если вы мне обьясните все с самого начала ,и научите создать программу,на примере моей курсовой,хотелось бы выучить азы програмирования ?
я совсем запутался сколько будет стоит если вы мне обьясните все с самого начала ,и научите создать программу,на примере моей курсовой,хотелось бы выучить азы програмирования ?alex79
Я сделал тебе первую часть. Хотя скорее всего в задании требовалось сделать ввод через форму. В любом случае я постарался использовать разные методы расчета. Думаю со второй частью по примеру первой разберешься. Если нет - пиши на почту, объясню
Я сделал тебе первую часть. Хотя скорее всего в задании требовалось сделать ввод через форму. В любом случае я постарался использовать разные методы расчета. Думаю со второй частью по примеру первой разберешься. Если нет - пиши на почту, объяснюexcelhelprus