Nastaví rozsah automatického filtru klasického XLS a použije kritérium pro jedno pole v jednom volání
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;
Poznámky
Přetížení s řetězcem přijímá rozsah ve stylu A1, například A1:C5. Číselné přetížení používá indexy řádků a sloupců se základem 1. Pole je rovněž se základem 1
ApplyAutoFilter nahradí jakýkoli existující rozsah automatického filtru na úrovni listu zadaným rozsahem a poté zapíše stejné záznamy kritérií pole BIFF8 jako při ručním nastavení filtru IXLSRange.Autofilter
Textové kritérium, které začíná porovnávacím operátorem (>=, <=, <>, >, < nebo =) následovaným číslem, například '>=100' nebo '=2.5', se ukládá jako číselná podmínka, takže odpovídá číselným buňkám stejně jako v Excelu. Číslo zapisujte s tečkou jako desetinným oddělovačem. Jakýkoli jiný text, včetně samotné hodnoty jako '100', se ukládá jako textová podmínka
Použijte TXLSWorksheet.AutoFilterColumns.Find(Field) k prohlédnutí uložených kritérií pro každé pole po použití nebo načtení klasického automatického filtru XLS
Příklad
Workbook := TXLSWorkbook.Create;
try
Sheet := Workbook.Sheets[1];
Sheet.ApplyAutoFilter('A1:C5', 2, '>=100');
Workbook.SaveAs('filtered.xls', xlExcel97);
finally
Workbook.Free;
end;
Viz také