Documentação do HotXLS

Método ApplyAutoFilter

Define um intervalo de Filtro Automático XLS clássico e aplica um critério por campo numa única chamada

Sintaxe

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;

Observações

A sobrecarga de cadeia de caracteres aceita um intervalo no estilo A1, como A1:C5. A sobrecarga numérica utiliza índices de linha e coluna de base 1. O campo também é de base 1 dentro do intervalo de Filtro Automático
ApplyAutoFilter substitui qualquer intervalo de Filtro Automático existente ao nível da folha pelo intervalo fornecido e depois escreve os mesmos registos de critérios de campo BIFF8 utilizados por IXLSRange.Autofilter
Um critério de texto que começa com um operador de comparação (>=, <=, <>, >, < ou =) seguido de um número, como '>=100' ou '=2.5', é armazenado como uma condição numérica, e passa a filtrar células numéricas tal como acontece no Excel. Escreva o número com ponto como separador decimal. Qualquer outro texto, incluindo um valor isolado como '100', é armazenado como uma condição de texto
Utilize TXLSWorksheet.AutoFilterColumns para inspeccionar os critérios por campo armazenados após aplicar ou ler um Filtro Automático XLS clássico

Exemplo

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

Ver também