| 
 Заполнение пустых ячеек случайными числами   
- Макросы 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 
 |