Заполнение пустых ячеек случайными числами
- Макросы VBA Excel
- Работа с диапазонами ячеек и листами
|
Макрос перебирает в цикле все ячейки выделенного диапазона, и в пустые ячейки вставляет случайные числа от 1 до 12:
Sub FillBlankCellsWithRandomNumbers()
' заполняет пустые ячейки выделенного диапазона
' случайными значениями от 1 до 12
Dim cell As Range, ra As Range
' ограничиваем выделенный диапазон используемой областью листа
Set ra = Intersect(Selection, ActiveSheet.UsedRange)
If ra Is Nothing Then
MsgBox "В выделенном диапазоне нет пустых ячеек!", _
vbExclamation, "Нечего заполнять"
Else
Application.ScreenUpdating = False ' отключаем обновление экрана
' перебираем все ячейки в выделенном диапазоне
For Each cell In ra.Cells
' если ячейка пустая - вычисляем случайное число, и заносим его в ячейку
If Trim(cell) = "" Then cell = Fix(Rnd() * 12 + 1)
Next cell
' можно и так - записать во все ячейки формулу,
' а потом заменить формулы значениями
'ra.Formula = "=INT(RAND()*12+1)": ra.Value = ra.Value
End If
End Sub
|