Обновление размера таблицы

Автор Посетитель 04.11.2023, 04 ноября 2023, 16:52

Посетитель 04.11.2023

Добрый день!
Помогите разобраться пожалуйста, можно ли написать макрос, который будет автоматически изменять диапазон в зависимости от размера таблицы?

Вот я, например, удаляю все данные таблицы с ячейки B6 и вставляю новую таблицу, которая меньше или больше. Хочу, чтобы размер таблицы (см. скриншот) автоматически подстраивался под новые данные, диапазон должен быть ни больше, ни меньше. Была попытка сделать через запись макроса, но в макросе задается конкретный диапазон который используется во время записи:
ActiveSheet.ListObjects("Main_Table").Resize Range("$B$6:$M$3199")
Можно ли сделать эту часть универсальной?

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

Написал вам два письма на почту с заголовком "Письмо с Форума по VBA, Excel и Word". Написал именно на почту, а не на форум.

В решении используется команда Find, она тяжело предсказуема, если есть скрытые строки. Поэтому, если есть скрытые строки, может быть неправильный результат.

Sub Macro()
 
    Dim Lr As Long
 
    Lr = Columns("B:M").Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
        MatchCase:=False, SearchFormat:=False).Row
    ActiveSheet.ListObjects("Main_Table").Resize Range("$B$6:$M$" & Lr)

End Sub

Посетитель 04.11.2023

Размер таблицы остается прежним при выполнении такого макроса, хотя новые данные занимают меньше строк. Внизу осталась таблица с пустыми строками, которые макрос все равно цепляет, ничего не поменялось. Нужно сделать так, чтобы макрос цеплял именно строки со значениями и менял размер таблицы в соответствие с количеством таких строк.

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

Внесены изменения в ответ #1.

Посетитель 04.11.2023

Получилось, спасибо большое!!