Я пытаюсь создать кнопку, которая сбрасывает заданную таблицу в ее ... скажем, размер по умолчанию и форматирование
Я потратил немного, чтобы получить Диапазон.Изменить размер право собственности, но позже выяснилось, что после изменение размера или уменьшение таблицы требует от меня очистки всего, что осталось позади.
...
Sub Bt_clear_tb1()
'ScreenUpdate
Application.ScreenUpdating = False
Application.CutCopyMode = False
'Resize and cleanup
With ActiveSheet.ListObjects("Tab1")
.Resize(.Range.Resize(10))
.ListColumns(1).DataBodyRange.ClearContents
.ListColumns(2).DataBodyRange = _ ...
.ListColumns(3).DataBodyRange = _ ...
End With
'Clear the rest | ---► Don't want it to be fixed ◄--- |
Range("A11", "Q11").Select ◄--- |
Range(Selection, Selection.End(xlDown)).Select ◄--|
Selection.ClearContents ◄--- |
'ScreenUpdate
Application.ScreenUpdating = True
End Sub
...
Конечно, я заставил его работать вручную на фиксированных диапазонах, но я не могу найти способ получить целевой диапазон динамически.Поэтому, если бы я когда-нибудь решил переместить или изменить его размер по-другому, мне не пришлось бы каждый раз переписывать код.
Почти думал, что я его получил
как:
wb.ListObjects(1).Range.Cells(.Range.Rows.Count, .Range.Columns.Count).Offset(1,0).Select
Range(Selection, Selection.End(xlToLeft).End(xlDown).Select
Selection.ClearContents
Но это не динамично ... если я изменю ListObjects (1) на другую таблицу, он все равно очищает область ниже первой.
Знаете ли вы какой-либо другой способ каким-либо образом получить 'Range области нижеtable '?
~ также, пожалуйста, извините за мой ужасный английский .. Я надеюсь, что это читабельно и как-то имеет смысл