Уведомление об ответе может попасть в папку "Спам".
На Яндексе (или в другой почтовой системе) пометьте полученное письмо "Не спам", чтобы уведомления не попадали в папку "Спам".
Или, если вы используете почтовую программу (а не браузер), то разрешите спаму попадать в папку "Входящие" (в этом случае в теме письма будет текст [OBORONA-SPAM]).

Excel Макрос: Как удалить строки вместе с форматом в умной таблице

Автор Посетитель, 21 марта 2017, 14:44

Посетитель

Есть умная таблица, в которой нужно удалить строки вместе с форматированием из диапазона.
Нужно удалить строки с 4 по последнюю.
Пробовал различные варианты, но форматы не удаляются.
Помогите, пожалуйста!

Администратор

Sub Макрос()
   
    Dim shMat As Worksheet, lr As Long
   
    '1. Присваиваем листу "Материалы" имя "shMat", чтобы удобнее писать код.
    Set shMat = Sheets("Материалы")
    '2. Поиск последней строки по столбцу "A".
        ' При использовании метода "End" не должно быть скрытых строк на листе.
    lr = shMat.Cells(shMat.Rows.Count, "A").End(xlUp).Row
    '3. Удаление строк с 4 по последнюю.
    shMat.Rows("4:" & lr).Columns("A:C").Delete Shift:=xlUp
   
End Sub

Посетитель


Администратор

Если используется умная таблица, то можно не искать последнюю строку.
Этот макрос удаляет в умной таблице строки с 4 по последнюю.

Sub Макрос()
   
    Dim shMat As Worksheet, tbl As ListObject
   
    '1. Присваиваем листу "Материалы" имя "shMat", чтобы удобнее писать код.
    Set shMat = Sheets("Материалы")
    '2. Присваиваем умной таблице имя "tbl".
    Set tbl = shMat.ListObjects("Таблица1")
    '3. Удаление строк с 4 по последнюю.
    tbl.Range.Rows("4:" & tbl.Range.Rows.Count).Delete Shift:=xlUp
   
End Sub