Documentazione HotXLS

ApplyAutoFilter metodo

Sets a classic XLS AutoFilter range e applies a per-field criterion in one call

Sintassi

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

Osservazioni

L'overload stringa accetta un intervallo in stile A1 come A1:C5. L'overload numerico usa indici di riga e colonna in base 1. Anche Field è in base 1 all'interno dell'intervallo AutoFilter
ApplyAutoFilter sostituisce qualsiasi intervallo AutoFilter esistente a livello di foglio di lavoro con l'intervallo fornito, poi scrive gli stessi record di criteri di campo BIFF8 usati da IXLSRange.Autofilter
Un criterio testuale che inizia con un operatore di confronto (>=, <=, <>, >, < o =) seguito da un numero, come '>=100' o '=2.5', viene memorizzato come condizione numerica, quindi filtra le celle numeriche come fa Excel. Scrivere il numero con il punto come separatore decimale. Qualsiasi altro testo, incluso un valore da solo come '100', viene memorizzato come condizione testuale
Usa TXLSWorksheet.AutoFilterColumns.Find(Field) per ispezionare i criteri memorizzati per campo dopo aver applicato o letto un AutoFilter XLS classico

Esempio

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

Vedere Also