До сих пор я использовал метод AutoFilter () без проблем. но я не смог пометить или получить диапазон отфильтрованных строк, чтобы подсчитать / скопировать / удалить их.
Я видел много сообщений на эту тему с VBA, но ни одного для C #.
После фильтрации я попытался получить диапазон по одной из следующих строк:
range = ws.UsedRange.CurrentRegion.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
range = ws.AutoFilter.Range.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
range = ws.Cells.SpecialCells(Excel.XlCellType.xlCellTypeVisible, missing);
И я даже пробовал другие способы, которые даже не помню.
После обозначения диапазона я попытался сосчитать строки, выполнив:
range.Rows.Count
и в каждом случае я получал общее количество строк листа, иногда я получал 65536 (офис 2003), а иногда только 1, но точно не количество строк, которые я отфильтровал.
Я должен использовать его в Office 2003 с Object Library 11.