Я копирую данные, используя Advanced Filter, из одной таблицы рабочих книг в другую таблицу рабочих книг. Копирование работает абсолютно нормально, но выходная таблица не изменяет размер диапазона, чтобы включить новые данные при вводе. Я попробовал приведенный ниже код (и другой код), чтобы заставить таблицу изменить размер диапазона, но он ничего не делает. Он также не выдает ошибку, просто выполняет код.
Это последняя часть кода, которая должна изменить размер таблицы:
With tblFiltered
.Resize .Range(myLastRow, tblFiltered.HeaderRowRange.Count)
End With
Я включаю еще немного кода , так что вы можете видеть, какие переменные установлены.
'Copy Filtered data to specified tables
Dim tblFiltered As ListObject
Dim copyToRng As Range, SDCRange As Range
'DERANGED
'Store Filtered table in variable
Set tblFiltered = wb.Worksheets("Deranged with SOH").ListObjects("Table_Deranged_with_SOH")
'Remove Filtered table Filters
tblFiltered.AutoFilter.ShowAllData
'Set Copy to range on Filtered sheet table
Set copyToRng = tblFiltered.HeaderRowRange
Set SDCRange = MainWB.Worksheets(2).ListObjects("Table_SDCdata").Range
'Use Advanced Filter
SDCRange.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=DerangedCrit, CopyToRange:=copyToRng, Unique:=False
'Resize filtered table to include new data
With wb.Worksheets("Deranged with SOH").Cells
'find last row of source data cell range
myLastRow = .Find(What:="*", LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End With
With tblFiltered
.Resize .Range(myLastRow, tblFiltered.HeaderRowRange.Count)
End With
Я пытался использовать .currentregion
, но это тоже ничего не делало. Я буду использовать приведенный выше код для нескольких таблиц, чтобы копировать, а затем изменять размер и изменять каждую неделю. Так что жесткое кодирование значений для изменения размера не вариант.
Переменная myLastRow
правильно вычисляет значение (номер последней строки), как и tblFiltered.HeaderRowRange.Count
(в данном случае 14).
Не знаю, где я ошибаюсь, если у кого-то есть понимание, это будет полезно, спасибо.