mail mail

Заполнение пустых ячеек случайными числами

Макрос перебирает в цикле все ячейки выделенного диапазона,
и в пустые ячейки вставляет случайные числа от 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

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
13 + 3 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.