Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
макрос выбора рандомной строки всегда работает в одной последовательности
 
Здравствуйте. Есть макрос для выбора рандомной строки в диапазоне. Но когда по новой открываешь файл, он всегда выбирает 155 строку, потом 128 и т.д
Как сделать что бы всегда были разные значения?
Код
Sub RNDcell()
Dim Ur As Range, a&, b&, aa, adrR$, adrC$, c&
Set Ur = [A3:A221]
adrR = Ur.EntireRow.Rows.AddressLocal(0, 0)
adrC = Ur.EntireColumn.Columns.AddressLocal(0, 0)
aa = Split(adrR, ":"): c = CLng(aa(0))
a = c + (Rnd * (Ur.Rows.Count - c))
c = Asc(adrC) - 64
b = c + (Rnd * (Ur.Columns.Count - c))
Cells(a, b).Activate
[r1] = ActiveCell.Address
End Sub
Сильно не ругайте, я нуб...
 
Кажется, команда Randomize перед вызовом Rnd пихает ГСЧ и он дает другой набор
F1 творит чудеса
 
Привет!
Код
Option Explicit

Sub НаКогоБогПошлёт()
Randomize
[r1] = Cells(WorksheetFunction.RandBetween(2, ActiveSheet.UsedRange.Rows.Count), 1).Address
End Sub
 
Inexsu, Не подскажите, а как сделать что бы еще выделялась активная ячейка?)
Изменено: Neimar - 9 Апр 2018 20:41:38
Сильно не ругайте, я нуб...
 
Активная ячейка и так является выделенной )
 
Цитата
Юрий М написал:
Активная ячейка и так является выделенной )
Будем считать, что я догадался:
Код
Sub НаКогоБогПошлёт_2()
  Dim el As Range
  
  Randomize
  Set el = Cells(WorksheetFunction.RandBetween(2, ActiveSheet.UsedRange.Rows.Count), 1)
  
  [r1] = el.Address
  el.Select
End Sub
 
Inexsu, Спасибо! Очень выручили.
Сильно не ругайте, я нуб...
Страницы: 1
Читают тему (гостей: 1)
Наверх