Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Макрос рандомного перехода
 
Всем доброго дня!

Помогите написать короткий макрос для рандомного перехода в 1 столбце (столбец А) - нажал кнопку, выделяется рандомная ячейка и тд.

При этом конечная заполненная ячейка будет изменяться по мере добавления информации в столбец.
Сделал это же через формулу для вывода в отдельной ячейке, но нужно немного другое... Поэтому прошу помощи.
Файл прилагаю.
 
Код
Sub Go()

Worksheets("Лист1").Cells(Application.RandBetween(2, Cells(Rows.Count, 1).End(xlUp).Row), 1).Select

End Sub
 
Код
Sub RndCell()
Dim i As Long
    i = ActiveSheet.UsedRange.Rows.Count
'    i = Cells(Rows.Count, 1).End(xlUp).Row)
'    i = Application.CountIf(Range("A:A"),"*") + 1
    Cells(Int(i * Rnd() + 1), 1).Select
End Sub
 
Скрытый текст
"Все гениальное просто, а все простое гениально!!!"
 
По мотивам Sceptic
Код
Sub Go()
 
  [INDEX(A:A,2+RAND()*COUNTA(A:A))].select
 
End Sub
 
Цитата
Sceptic написал: Cells(Rows.Count, 1).End(xlUp).Row
Код
ActiveSheet.UsedRange.Rows.Count
 
Закрашивает, проверяет )))
 
eeigor, а вдруг кроме первого столбца еще где-то данные будут? Тогда ж можно и мимо данных улететь в столбце A
 
Правильное замечание.
Cells(Rows.Count, 1).End(xlUp).Row) - но если фильтр?
Можно определять по количеству значений - но если пропуски?

В сообщении №3 добавил варианты
 
Цитата
Sceptic написал:...а вдруг кроме первого столбца... Cells(Rows.Count, 1).End(xlUp).Row
Покороче
Код
Columns(1).End(xlDown).Row 
Изменено: eeigor - 12 Фев 2019 17:34:42
 
lextoys, спасибо за закраску, но он не перескакивает почему то... в любом случае спасибо!

Nordheim, Казанский, eeigor, vikttur, Sceptic, всем спасибо за помощь! теперь точно выучу английский.. наверное)
 
Цитата
eeigor написал: Columns(1).End(xlDown).Row
Сработает только на непрерывный диапазон, начинающийся с первой строки. В данном примере диапазон начинается со второй.
А вообще да, еще один вариант для частного случая
 
Цитата
povusha1 написал:
lextoys , спасибо за закраску, но он не перескакивает почему то... в любом случае спасибо!
теперь и перескакивает
 
Цитата
[USER=100569]povusha1 написал: короткий макрос для рандомного перехода...
теперь точно выучу английский.. наверное)
Русский тоже :)
"Рандомно - Это случайный выбор, наугад. ... И зачем нужно это слово, когда в русском языке есть уже слово, обозначающее понятие случайный, взятое без выбора, наугад"
Страницы: 1
Читают тему (гостей: 1)
Наверх