Страницы: 1
RSS
Выборка случайных значений из диапазона
 
Добрый день уважаемые форумчане,
помогите пожалуйста решить задачку(тем много с подобрыми запросами, но для себя не смог найти ,если ткнете носом в нужную ссылку, буду так же балгодарен).
Макрос будет запускаться каждый день .
нужно брать два случайных числа(которые не будут повторятся после перезапуска макроса) из диапазона (из столбца) и выносится в новый лист , допустим нумерация листов будет датой запуска макроса .
50 times helped - they forgot, 1 time refused - they memorized
 
Так случайное число или дата?
 
в столбце данные, вот нужно эти данные в случайном порядке выбирать  по 2 и копировать данные в новый лист
при повторном запуске , эти 2 не должны учитываться , когда будет подбираться следующие 2
50 times helped - they forgot, 1 time refused - they memorized
 
примерно..

но не совсем не будут повторяться, могут повторяться, но врядли.. те случайным образом могут повториться.. :) если нужно что-то другое, то точнее поставьте задачу
Живи и дай жить..
 
Скрытый текст

а если удалять рандомно выбраные данные из столбца , в котором ищет ?после того как данные уже перенесены на новый лист . можно так ?
50 times helped - they forgot, 1 time refused - they memorized
 
и еще, данные совсем не должны совпадать, т.е. ни в одном из ново созданных листов не должны повторятся .
50 times helped - they forgot, 1 time refused - they memorized
 
вот
данные не повторяются пока не исчерпан список, потом новый цикл
Живи и дай жить..
 
выполнил макрос несколько раз подряд , на 4й раз данные задвоились  . на 7й раз еще раз задвоилось .
И если не сложно, можно в коде сделать коментарий, в каком месте менять количество вычисляемых рандомных данных?(чтобы можно было менять на больше чем 2) .
50 times helped - they forgot, 1 time refused - they memorized
 
Всё таки повторения есть , может быть есть у кого то другое решение ?
50 times helped - they forgot, 1 time refused - they memorized
 
Вариант :
Код
Sub Скелет_Макроса()
For i = 1 To 2
ВерхГраница = Cells(Rows.Count, 1).End(xlUp).Row
r = Int((ВерхГраница * Rnd) + 1)
'создать и обозвать новый лист Датой
'with Новый_лист
.Cells(i, 1) = Cells(r, 1).Value
'end with
Next
Cells(r, 1).EntireRow.Delete
End Sub
 
Скрытый текст
чтото не работает , можете пожалуйста объяснить поподробнее как и что?
50 times helped - they forgot, 1 time refused - they memorized
 
...
 
Цитата
YouRock написал: выполнил макрос несколько раз подряд , на 4й раз данные задвоились  . на 7й раз еще раз задвоилось .
ну на 7й раз я же сказал - до исчерпания.. у нас список из 10 значений, 5 раз по 2..

на 4й не должно было.. у меня не задваивалось
Живи и дай жить..
Страницы: 1
Наверх