Макрос заполнения выделенной области случайными числами в диапазоне от 1 до 100.
Случайный Генератор Букв (символов) RU и En алфавита - здесь
Для решения задачи будем использовать функцию генерации случайных чисел Rnd, которая (после инициализации Randomize) возвращает случайные числа в диапазоне от 0 до 1. Для наглядности, будем заполнять область целыми числами.
Код процедуры заполнения будет следующим:
Sub CaseDigital()
Dim aCell As Range, mR As Range
Set mR = Selection '
For Each aCell In mR.Cells
aCell = CInt(1 + 99 * Rnd)
Next
Set mR = Nothing
End Sub
Где mR as Range – локальная переменная, ссылающаяся на выделенная область, а aCell as Range – локальная переменная, поочередно ссылающаяся на одну из ячеек данной области.
Цикл For Each aCell In mR.Cells – Next при каждой итерации связывает переменную aCell с очередной ячейкой из коллекции ячеек диапазона mR . Функция СInt приводит значение к целочисленному типу Integer. Чтобы процедура заполнения вызывалась автоматически, после выделения области поместим ее вызов в обработчик события «Изменение области выделения»
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CaseDigital
End Sub
Все! Можете выделять область, только не забудьте включить макросы.
Или чуть-чуть усложнено:
Макрос, который в выделенной таблице представляет все отрицательные числа синим цветом,
положительные - красным, нулевые – белым (или желтым).
скачать xls-файл
Случайный Генератор Букв (символов) RU и En алфавита - здесь
Другие примеры на языке «Visual Basic for application - VBA»
Поделиться в соц сетях: