Есть умная таблица, в которой нужно удалить строки вместе с форматированием из диапазона.
Нужно удалить строки с 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