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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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


Ответ
 
Опции темы
Старый 20.03.2013, 17:55   #1
sVa112
Пользователь
 
Регистрация: 29.09.2012
Сообщений: 10
По умолчанию Опредилить каких элементов в массиве больше

Дан массив целых чисел, опредилить каких элементов в массиве больше положительных или отрицательных.

Sub Lab_2()
Dim b() As Integer, i As Integer, n As Integer
Dim m1 As Integer, m2 As Integer
n = InputBox("Введите количество элементов в массиве")
Worksheets("Лист1").Range("A2").Val ue = n
ReDim b(n)
For i = 1 To n
b(i) = Worksheets("Лист1").Cells(i + 1, 3).Value
Next i
m1 = 0
m2 = 0
For i = 1 To n
If b(i) > 0 Then m1 = m1 + 1
If b(i) < 0 Then m2 = m2 + 1
Next i
If m1 > m2 Then Worksheets("Лист1").Range("A3").Val ue Ellse
Worksheets("Лист1").Range("A3").Val ue
End Sub

Помогите доделать, ошибку выбивает run time error "438"
sVa112 вне форума Ответить с цитированием
Старый 20.03.2013, 18:25   #2
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,319
По умолчанию

вместо этого
If m1 > m2 Then Worksheets("Лист1").Range("A3").Val ue Ellse
Worksheets("Лист1").Range("A3").Val ue
пишите это
Код:
if m1=m2 then msgbox "Поравну" else msgbox "Больше " & iif(m1 > m2, "положительных", "отрицательных")
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.03.2013, 20:29   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Варианты http://www.cyberforum.ru/vba/thread785670.html
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 20.03.2013, 21:15   #4
sVa112
Пользователь
 
Регистрация: 29.09.2012
Сообщений: 10
По умолчанию

Ввожу кол-во элементов в массиве, нажимаю ок и сразу выдаёт "поровну", где ошибка?
sVa112 вне форума Ответить с цитированием
Старый 20.03.2013, 21:30   #5
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,319
По умолчанию

извините за "поравну". правильно поровну - и это один и вариантов состояния массива данных.
кстати, если на листе нет данных - то отрицательных 0 и положительных 0, т.е. их поровну.
41001804815208 - Яндекс-деньги благодарности за удачные советы и решения можно отправлять прямо сюда)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.03.2013, 22:34   #6
sVa112
Пользователь
 
Регистрация: 29.09.2012
Сообщений: 10
По умолчанию

Большое спасибо!
sVa112 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
каких слов в тексте больше vitaxa3581 Общие вопросы C/C++ 1 18.01.2013 15:44
Подсчет количества элементов ,больше суммы предшествующих в одномерном массиве Felixjkee Помощь студентам 0 09.01.2013 10:30
Определить каких чисел в целочисленной последовательности больше:четных или кратных 3 naty7773 Помощь студентам 4 18.12.2012 11:01
определить каких букв больше в этом тексте Aimet Паскаль, Turbo Pascal, PascalABC.NET 2 16.06.2011 21:22
Строка содержит произвольный русский текст. Проверить, каких букв в нем больше: гласных или согласных. Михей91 Общие вопросы C/C++ 1 07.01.2010 16:57


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840