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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2012, 12:03   #1
lalalalala
 
Регистрация: 27.04.2012
Сообщений: 5
По умолчанию Посмотрите что не так в программе

Помогите написать программу в VB МS Excel,дано задание:
Заполнить n- строк (n<50) столбца А случайными числами из диапазона [1..100] в порядке их возрастания.
Вот я сделала,что знаю,но она не работает,что нужно добавить??

sub pr()
Dim a,n,i,s as Integer
n=100
for i= 1 to n
a=InputBox("Введите не больше 50 чисел")
if a>50 then MsgBox ("Нужно указать меньше 50 чисел")
s=100 * Rnd() + 1
Next
End sub
Зараннее спасибо
lalalalala вне форума Ответить с цитированием
Старый 27.05.2012, 19:49   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Код:
Sub pr()
Const N& = 100
Dim a&, s$
a = InputBox("Введите число не больше 50")
If a > 50 Then MsgBox "Ниасилили :(": Exit Sub
s = Str$(N / a)
Range("A1").Formula = "=INT(1+RAND()*" & s & ")"
Range("A2:A" & a).Formula = "=INT(A1+RAND()*(" & s & "*ROW()-A1))"
With Range("A1:A" & a): .Value = .Value: End With
End Sub
Чтобы числа не повторялись, третью строку с конца надо изменить:
Код:
Range("A2:A" & a).Formula = "=INT(A1+1+RAND()*(" & s & "*ROW()-A1-1))"
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 27.05.2012 в 19:53.
Казанский вне форума Ответить с цитированием
Старый 28.05.2012, 22:31   #3
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
a=InputBox("Введите не больше 50 чисел")
if a>50 then MsgBox ("Нужно указать меньше 50 чисел")
Где-то это я уже видел...
Предлагается ввести не больше 50 чисел... А разрядность чисел? А как их разделять? Пробелами? Запятыми? ...
И вообще if a>50 По своему определению InputBox это текстовой формат.
Как можно сравнивать текст с числом...
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что-то не так в программе...не пойму что Karina_Vamp Помощь студентам 5 24.12.2010 21:06
посмотрите что не так alex_sande Microsoft Office Excel 4 17.06.2010 00:32
что не так в программе? Repz1992 Помощь студентам 8 28.10.2009 19:57
посмотрите что не так(((( доходит до 37 строки - функции и все sunnysunny Помощь студентам 15 29.05.2009 00:20
Посмотрите что не так, я весь мозг сломал... Devil55 Помощь студентам 3 18.02.2009 18:31