Попълване на избраната област на листа със случайни числа - Генератор на случайни числа - 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

Всичко! Можете да изберете област, само не забравяйте да активирате макроси.

попълване

Или малко по-сложно:

Макро, който в избраната таблица представявсички отрицателни числа в синьо, положителни - в червено, нула - в бяло (или жълто).