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