Вопрос № 162441: Уважаемые эксперты, помогите решить задачу в VBA по случайному выбору одного листа из группы. В группе 10 листов Excel. (Число групп варьируется - 1, 2, 4.) Привожу свое решение для одной группы. Мне кажется, что можно было бы использовать функци...
Вопрос № 162.441
Уважаемые эксперты, помогите решить задачу в VBA по случайному выбору одного листа из группы. В группе 10 листов Excel. (Число групп варьируется - 1, 2, 4.) Привожу свое решение для одной группы. Мне кажется, что можно было бы использовать функцию непосредственно программным способом. И м.б. выбирать из Лист10 - Лист19, а не из чисел 10-19, а затем сцеплять число с текстом. Примите мою благодарность за участие. Ф.Зыков
Отвечает: Botsman
Здравствуйте, Зыков Феликс Никанорович! Помогаю. В Excel к листу можно обращаться не только по имени Sheets("Лист1"), но и по номеру - индексу. Если вы не переименовывали листы, то индекс должен совпадать с тем, что написано в имени после слова"Лист". Т.е Sheets("Лист1") и Sheets(1) обозначают одно и то же. Поэтому с текстом вообще можно не сцеплять. Кроме того, в VBA есть функция rnd, возвращающая случайное число от 0 до 1. Чтобы получить случайное ЦЕЛОЕ число из диапазона
[a,b] (b больше, чем a), испльзуем выражение a+INT(RND*(b-a)). Соответственно, если у вас есть несколько групп с одинаковым количеством (10)литстов в каждой, можно использовать код, приведенный в приложении. Все. Рад был помочь.
Приложение:
--------- Хочешь победить Excel? Спроси меня как! ;)
Ответ отправил: Botsman (статус: Студент)
Ответ отправлен: 16.03.2009, 12:01
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 245419 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Прекрасное решение! Большое спасибо. С почтением - Ф. Зыков
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.