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