Документация HotXLS

Метод ApplyAutoFilter

Задаёт диапазон классического автофильтра XLS и применяет критерий для поля за один вызов

Синтаксис

procedure ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant); overload;
procedure ApplyAutoFilter(ARange: WideString; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;
procedure ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant); overload;
procedure ApplyAutoFilter(ARow1, ACol1, ARow2, ACol2: Integer; Field: Integer; Criteria1: Variant; Operator: XlAutoFilterOperator; Criteria2: Variant); overload;

Примечания

Строковая перегрузка принимает диапазон в стиле A1, например A1:C5. Числовая перегрузка использует строки и столбцы с отсчётом от 1. Поле (Field) тоже с отсчётом от 1 в рамках диапазона автофильтра
ApplyAutoFilter заменяет любой существующий диапазон автофильтра на уровне листа указанным диапазоном, затем записывает те же записи критериев полей BIFF8, что используются в IXLSRange.Autofilter
Используйте TXLSWorksheet.AutoFilterColumns для просмотра хранимых критериев полей после применения или считывания классического автофильтра XLS

Пример

Workbook := TXLSWorkbook.Create;
try
  Sheet := Workbook.Sheets[1];
  Sheet.ApplyAutoFilter('A1:C5', 2, '>=100');
  Workbook.SaveAs('filtered.xls', xlExcel97);
finally
  Workbook.Free;
end;

См. также