Define um intervalo de AutoFiltro XLS clássico e aplica um critério por campo em uma ú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 string aceita um intervalo no estilo A1 como A1:C5. A sobrecarga numérica usa índices de linha e coluna baseados em 1. Field também é baseado em 1 dentro do intervalo de AutoFiltro
ApplyAutoFilter substitui qualquer intervalo de AutoFiltro existente em nível de planilha pelo intervalo fornecido e, em seguida, grava os mesmos registros de critério de campo BIFF8 usados 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 exatamente como no Excel. Escreva o número com ponto como separador decimal. Qualquer outro texto, incluindo um valor puro como '100', é armazenado como uma condição de texto
Use TXLSWorksheet.AutoFilterColumns para inspecionar os critérios armazenados por campo após aplicar ou ler um AutoFiltro 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;
Veja também