Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/ошибка run time error 9 - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ошибка run time error 9 (Макросы/Sub)
ошибка run time error 9
alex79 Дата: Среда, 15.04.2015, 18:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Добрый день ! ошибка 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

Sheets("Результат").Select
Cells(1, 1) = "Доход за первый месяц"
Cells(2, 1) = "Наименование игры"
Cells(2, 2) = "Первый месяц"
Cells(3, 2) = "Цена"
Cells(3, 3) = "Продано"
Cells(3, 4) = "Доход"

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]И файл приложите


Сообщение отредактировал Serge_007 - Среда, 15.04.2015, 19:30
 
Ответить
СообщениеДобрый день ! ошибка 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

Sheets("Результат").Select
Cells(1, 1) = "Доход за первый месяц"
Cells(2, 1) = "Наименование игры"
Cells(2, 2) = "Первый месяц"
Cells(3, 2) = "Цена"
Cells(3, 3) = "Продано"
Cells(3, 4) = "Доход"

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]И файл приложите

Автор - alex79
Дата добавления - 15.04.2015 в 18:50
alex79 Дата: Среда, 15.04.2015, 19:22 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Вот сам файл,могу прислать задание курсовой с примером?
[moder]А как Вы думаете? Откуда мы узнаем, что Вам сделать нужно?
К сообщению приложен файл: 9861902.xlsm (19.7 Kb)


Сообщение отредактировал _Boroda_ - Среда, 15.04.2015, 19:41
 
Ответить
СообщениеВот сам файл,могу прислать задание курсовой с примером?
[moder]А как Вы думаете? Откуда мы узнаем, что Вам сделать нужно?

Автор - alex79
Дата добавления - 15.04.2015 в 19:22
alex79 Дата: Среда, 15.04.2015, 19:52 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
вот задание которое надо сделать.
Задание 76
Магазин «Компьютерные аксессуары» продал за 4 месяца
различное количество компьютерных игр 5 наименований (цена в
течение месяца не меняется).
Написать программу на языке VBA, которая вводит исходные
данные, выполняет расчеты и выводит на экран:
исходные данные в виде таблицы, где указаны наименования игр,
цена игр в каждом месяце, кол-во проданных игр за каждый месяц
доход от каждой игры за первый месяц;
доход за каждый месяц по всем играм;
общий доход от всех игр за 4 месяца;
наименование игры, принесший наименьший доход за все время.
в пристежке файл примера а вот его задание
В течение пяти дней (рабочая неделя) рабочий изготавливает детали семи различных типов. Известно количество изготовленных им деталей за каж-дый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется).
Написать программу, которая вводит данные, выполняет расчет и выво-дит на экран:
• исходные данные в виде таблицы, где перечислены наименования де¬талей, стоимость изготовления, количество деталей, изготовленных за каждый день;
• количество деталей каждого типа, изготовленных за неделю;
• заработок за каждый день;
• день с наибольшим заработком
К сообщению приложен файл: Informatika-Iva.xls (60.5 Kb)
 
Ответить
Сообщениевот задание которое надо сделать.
Задание 76
Магазин «Компьютерные аксессуары» продал за 4 месяца
различное количество компьютерных игр 5 наименований (цена в
течение месяца не меняется).
Написать программу на языке VBA, которая вводит исходные
данные, выполняет расчеты и выводит на экран:
исходные данные в виде таблицы, где указаны наименования игр,
цена игр в каждом месяце, кол-во проданных игр за каждый месяц
доход от каждой игры за первый месяц;
доход за каждый месяц по всем играм;
общий доход от всех игр за 4 месяца;
наименование игры, принесший наименьший доход за все время.
в пристежке файл примера а вот его задание
В течение пяти дней (рабочая неделя) рабочий изготавливает детали семи различных типов. Известно количество изготовленных им деталей за каж-дый день и стоимость изготовления одной детали каждого типа (стоимость изготовления детали не меняется).
Написать программу, которая вводит данные, выполняет расчет и выво-дит на экран:
• исходные данные в виде таблицы, где перечислены наименования де¬талей, стоимость изготовления, количество деталей, изготовленных за каждый день;
• количество деталей каждого типа, изготовленных за неделю;
• заработок за каждый день;
• день с наибольшим заработком

Автор - alex79
Дата добавления - 15.04.2015 в 19:52
ShAM Дата: Среда, 15.04.2015, 20:02 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
 
Ответить
СообщениеПочитайте это: http://www.excelworld.ru/forum/2-1593-1#17842

Автор - ShAM
Дата добавления - 15.04.2015 в 20:02
_Boroda_ Дата: Среда, 15.04.2015, 20:04 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Решения я Вам не даю, но информацию к размышлению подкину. Как раз по п.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_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеРешения я Вам не даю, но информацию к размышлению подкину. Как раз по п.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_
Дата добавления - 15.04.2015 в 20:04
Pelena Дата: Среда, 15.04.2015, 20:06 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Ещё
[vba]
Код
dohod_n(i, j) = 0
[/vba]
а цикл по i к этому моменту уже закрыт


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕщё
[vba]
Код
dohod_n(i, j) = 0
[/vba]
а цикл по i к этому моменту уже закрыт

Автор - Pelena
Дата добавления - 15.04.2015 в 20:06
_Boroda_ Дата: Среда, 15.04.2015, 20:08 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
а цикл по i к этому моменту уже закрыт

А вот это не важно. i к тому моменту равно 6.
Оно не влезает сюда dohod_n(5, 4), но как число оно существует


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
а цикл по i к этому моменту уже закрыт

А вот это не важно. i к тому моменту равно 6.
Оно не влезает сюда dohod_n(5, 4), но как число оно существует

Автор - _Boroda_
Дата добавления - 15.04.2015 в 20:08
Pelena Дата: Среда, 15.04.2015, 20:12 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 19187
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Не думаю, что алгоритм должен так работать. Если даже к останову это не приведёт


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНе думаю, что алгоритм должен так работать. Если даже к останову это не приведёт

Автор - Pelena
Дата добавления - 15.04.2015 в 20:12
alex79 Дата: Среда, 15.04.2015, 20:13 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
У меня на вкладке нач_д таблица куда вбиваем данные
а на вкладке результат должно выйти две таблицы которые я для примера нарисовал на лист 3 ,фрагмент программы который я вам показал заполняет тока первую маленькую таблицу.
цикл до 8 с шагом 2 я сделал из соображений у меня данные записываются через столбец как видно из таблицы,
прилагаю свой файл в пристежке
К сообщению приложен файл: 4751974.xlsm (19.7 Kb)
 
Ответить
СообщениеУ меня на вкладке нач_д таблица куда вбиваем данные
а на вкладке результат должно выйти две таблицы которые я для примера нарисовал на лист 3 ,фрагмент программы который я вам показал заполняет тока первую маленькую таблицу.
цикл до 8 с шагом 2 я сделал из соображений у меня данные записываются через столбец как видно из таблицы,
прилагаю свой файл в пристежке

Автор - alex79
Дата добавления - 15.04.2015 в 20:13
_Boroda_ Дата: Среда, 15.04.2015, 20:14 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не думаю, что алгоритм должен так работать.

Конечно, если
Dim dohod_n(5, 4) As Double 'доход за каждый месяц по всем играм

то цикл по j должен быть внутри цикла по i.
В данном случае.
А если в общем, то это нормально. Редко используется (обычно переменная окончания есть уже в записи For i=1 to n), но почему бы и нет?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
Не думаю, что алгоритм должен так работать.

Конечно, если
Dim dohod_n(5, 4) As Double 'доход за каждый месяц по всем играм

то цикл по j должен быть внутри цикла по i.
В данном случае.
А если в общем, то это нормально. Редко используется (обычно переменная окончания есть уже в записи For i=1 to n), но почему бы и нет?

Автор - _Boroda_
Дата добавления - 15.04.2015 в 20:14
alex79 Дата: Среда, 15.04.2015, 20:23 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
я совсем запутался сколько будет стоит если вы мне обьясните все с самого начала ,и научите создать программу,на примере моей курсовой,хотелось бы выучить азы програмирования ?
 
Ответить
Сообщениея совсем запутался сколько будет стоит если вы мне обьясните все с самого начала ,и научите создать программу,на примере моей курсовой,хотелось бы выучить азы програмирования ?

Автор - alex79
Дата добавления - 15.04.2015 в 20:23
excelhelprus Дата: Четверг, 16.04.2015, 10:16 | Сообщение № 12
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 5 ±
Замечаний: 20% ±

2015
Я сделал тебе первую часть. Хотя скорее всего в задании требовалось сделать ввод через форму. В любом случае я постарался использовать разные методы расчета. Думаю со второй частью по примеру первой разберешься. Если нет - пиши на почту, объясню
К сообщению приложен файл: Informatika-Iva.xlsm (30.7 Kb)
 
Ответить
СообщениеЯ сделал тебе первую часть. Хотя скорее всего в задании требовалось сделать ввод через форму. В любом случае я постарался использовать разные методы расчета. Думаю со второй частью по примеру первой разберешься. Если нет - пиши на почту, объясню

Автор - excelhelprus
Дата добавления - 16.04.2015 в 10:16
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ошибка run time error 9 (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!