Docs HotXLS

ApplyAutoFilter-method

Définit une plage AutoFilter XLS classique et applique un critère par champ en un seul appel

Syntaxe

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;

Remarques

La surcharge chaîne accepte une plage de style A1 telle que A1:C5. La surcharge numérique utilise des index de ligne et colonne en base 1. Field est également en base 1 à l'intérieur de la plage AutoFilter
ApplyAutoFilter remplace toute plage AutoFilter existante au niveau de la feuille par la plage fournie, puis écrit les mêmes enregistrements de critères de champs BIFF8 utilisés par IXLSRange.Autofilter
Un critère texte qui commence par un opérateur de comparaison (>=, <=, <>, >, < ou =) suivi d'un nombre, comme '>=100' ou '=2.5', est stocké comme condition numérique et correspond donc aux cellules numériques comme dans Excel. Écrivez le nombre avec un point comme séparateur décimal. Tout autre texte, y compris une valeur nue telle que '100', est stocké comme condition texte
Utilisez TXLSWorksheet.AutoFilterColumns.Find(Field) pour inspecter les critères par champ stockés après l'application ou la lecture d'un AutoFilter XLS classique

Exemple

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

See Also