У меня есть макрос, который фильтрует все данные (250 строк) по одному столбцу, а затем удаляет данные, которые скрыты после фильтрации.
Следующий шаг - нефильтровать весь лист с помощью ActiveSheet.ShowAllData.
Что странно, на моей машине после нефильтрования мой использованный диапазон кажется 200 строк (50 строк было удалено).
Однако на другой машине, с той же версией Excel (Office365), после фильтрации ипри удалении 50 строк видимый диапазон составляет 1 048 576 строк (что в значительной степени мешает дальнейшему автозаполнению и т. д.)
Код выглядит следующим образом:
Dim lastRow As Long
Dim iCntr As Long
Range("A:AI" & Lines).AutoFilter Field:=32, Criteria1:= _
"2611"
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For iCntr = lastRow To 1 Step -1
If Rows(iCntr).Hidden = True Then Rows(iCntr).EntireRow.Delete
Next
ActiveSheet.ShowAllData