довольно простой вопрос:
У меня есть Excel ListObject("list")
. Это часть более длинной процедуры - в частности, она запускается с UserForm
, который запускает эту процедуру при каждом Change
Я пытаюсь сделать следующее: просто очистить стол и оставить только .HeaderRowRange
без изменений.
Dim temp as Range
Dim ws2 As Worksheet: Set ws2 = Sheets("Pomocne")
Dim tbl As ListObject: Set tbl = ws2.ListObjects("list")
If Not tbl.DataBodyRange Is Nothing Then
tbl.DataBodyRange.ClearContents
Set temp = tbl.HeaderRowRange
Set temp = temp.Resize(2)
tbl.Resize temp
End If
Теперь все работает хорошо. Однако странно, что если я слишком много раз изменю ComboBox
, то метод Resize
неожиданно завершится неудачей, казалось бы, без причины.
Кроме того, если я пытаюсь что-либо проверить, я получаю сообщение о том, что в Excel не хватает памяти.
Возможно ли как-нибудь, я мог бы изменить размер таблицы в более дружественной памяти, что не приведет к ошибке после нескольких изменений? Или, возможно, я неправильно изменяю размер таблицы?