HotXLS-Dokumentation

ApplyAutoFilter-Methode

Setzt einen klassischen XLS-AutoFilter-Bereich und wendet ein Feldkriterium in einem Aufruf an

Syntax

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;

Hinweise

Die Zeichenfolge-Überladung akzeptiert einen A1-Stil-Bereich wie A1:C5. Die numerische Überladung verwendet 1-basierte Zeilen- und Spaltenindizes. Das Feld ist ebenfalls 1-basiert innerhalb des AutoFilter-Bereichs
ApplyAutoFilter ersetzt jeden vorhandenen AutoFilter-Bereich auf Tabellenblattebene durch den angegebenen Bereich und schreibt dann dieselben BIFF8-Feldkriterien-Datensätze, die von IXLSRange.Autofilter verwendet werden
Ein Textkriterium, das mit einem Vergleichsoperator beginnt (>=, <=, <>, >, < oder =) und dem eine Zahl folgt, etwa '>=100' oder '=2.5', wird als Zahlenbedingung gespeichert und matcht numerische Zellen damit genauso wie in Excel. Die Zahl dabei mit Punkt als Dezimaltrennzeichen angeben. Jeder andere Text, auch ein bloßer Wert wie '100', wird als Textbedingung gespeichert
Verwenden Sie TXLSWorksheet.AutoFilterColumns, um die gespeicherten Feldkriterien nach dem Anwenden oder Lesen eines klassischen XLS-AutoFilters zu untersuchen

Beispiel

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

Siehe auch