Макросы и функции VBA

Макрос "Добавление строк"


Визуально добавляет новую строку "умной" таблицы при заполнении ячеек определенного столбца.

Пространство под таблицей при добавлении строк вместе с содержимым сдвигается вниз.

Код макроса необходимо разместить в модуль листа.

"Таблица1" - имя "умной" таблицы.

"Номенклатура" - название столбца, при заполнении которого таблица продлевается.



Private Sub Worksheet_Change(ByVal Target As Range)
Dim rRaboty, bFlag As Boolean, i&
With ActiveSheet
    bFlag = False
    rRaboty = .Range("Таблица1[Номенклатура]").Value
    If IsArray(rRaboty) Then
        For i = LBound(rRaboty, 1) To UBound(rRaboty, 1)
            If rRaboty(i, 1) = "" Then
                bFlag = True
                Exit For
            End If
        Next i
    ElseIf rRabouty = Empty Then bFlag = False
    End If
    If bFlag = False Then
        Application.EnableEvents = False
        .ListObjects("Таблица1").ListRows.Add
        Application.EnableEvents = True
    End If
End With
End Sub


    img01

    Финансы

    Бухгалтеру, экономисту, финансисту Вход
    img02

    Право

    Юристу, специалисту по кадрам Вход
    img03

    Канцелярия

    Делопроизводителю, секретарю Вход
    img04

    Транспорт

    Логисту, механику, водителю Вход
    img05

    IT

    Системному администратору Вход
    img06

    Менеджмент

    Начальникам отделов Вход