Попълване на избраната област на листа със случайни числа - Генератор на случайни числа - VBA - Примери
Макрос за попълване на избраната област с произволни числа в диапазона от 1 до 100.
За да разрешим проблема, ще използваме функцията за генериране на произволни числа Rnd, която (след инициализация на Randomize) връща произволни числа в диапазона от 0 до 1. За по-голяма яснота ще запълним областта с цели числа.
Кодът за процедурата по попълване ще бъде както следва:
Sub CaseDigital() Dim aCell As Range, mR As Range Set mR = Selection '
За всяка aCell в mR.Cells aCell = CInt(1 + 99 * Rnd) Следващ Задайте mR = нищо End Sub
КъдетоmR като Range е локална променлива, отнасяща се до избраната област, аaCell като Range е локална променлива, отнасяща се последователно към една от клетките в дадената област.
ЦикълътFor Every aCell In mR.Cells – Next при всяка итерация свързва променливатаaCell със следващата клетка от колекцията от клетки в диапазонаmR. ФункциятаСInt прехвърля стойността към целочислен тип Integer. За да може процедурата за попълване да бъде извикана автоматично, след като изберете областта, ще поставим нейното извикване в манипулатора на събитието "Промяна на областта за избор"
Private Sub Worksheet_SelectionChange(ByVal Target As Range) CaseDigital End Sub
Всичко! Можете да изберете област, само не забравяйте да активирате макроси.
Или малко по-сложно:
Макро, който в избраната таблица представявсички отрицателни числа в синьо, положителни - в червено, нула - в бяло (или жълто).