Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2013, 18: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, 19:25   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

вместо этого
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, "положительных", "отрицательных")
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 20.03.2013, 21:29   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

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

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц



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