2016-11-11 5 views
1

Я пытаюсь выбрать случайную ячейку из непересекающегося диапазона, но у меня возникают проблемы с кодом. Я использовал этот метод со смежными диапазонами много раз без проблем. Я предполагаю, что это связано с тем, как работает свойство .Cells, но я не смог найти что-либо в этом онлайн-режиме.Excel vba: выбор случайной ячейки из несмежного диапазона

Set Corners = Range("Z2, AB2, Z4, AB4") 

RandomCell = Int(Rnd * Corners.Cells.Count) + 1 
Corners.Cells(RandomCell).Value = "X" 

Как я могу изменить это, чтобы вернуть один из четырех элементов в диапазоне Corners? На данный момент он возвращает случайную ячейку из Z2, Z4, Z5, Z6. Я бы хотел, чтобы он выбирал между диапазонами, перечисленными в Corners. Заранее спасибо за помощь!

+0

я получаю сообщение об ошибке, если я структурировать команду диапазона с «» вокруг каждой ячейки. Я не уверен, что его можно использовать таким образом. И я хотел бы держать себя в непрерывном состоянии, потому что я не хочу, чтобы он когда-либо возвращал среднюю ячейку. – mmoschet

ответ

2
Corners.Areas(RandomCell).Value = "X" 

до тех пор, пока они все области одноклеточные в диапазоне

+0

Спасибо! Я никогда не слышал об этом. Раньше, но это именно то, что нужно. – mmoschet

Смежные вопросы