NamedRange.AdvancedFilter-Methode
Filtert oder kopiert Daten aus einer Liste auf Grundlage eines Kriterienbereichs.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Syntax
'Declaration
Function AdvancedFilter ( _
Action As XlFilterAction, _
CriteriaRange As Object, _
CopyToRange As Object, _
Unique As Object _
) As Object
Object AdvancedFilter(
XlFilterAction Action,
Object CriteriaRange,
Object CopyToRange,
Object Unique
)
Parameter
- Action
Typ: Microsoft.Office.Interop.Excel.XlFilterAction
Kann einer der folgenden XlFilterAction-Werte sein:
xlFilterCopy
xlFilterInPlace
- CriteriaRange
Typ: System.Object
Der Kriterienbereich.Wenn dieses Argument weggelassen wird, werden keine Kriterien verwendet.
- CopyToRange
Typ: System.Object
Der Zielbereich für die kopierten Zeilen, wenn Action den Wert xlFilterCopy hat.Andernfalls wird dieses Argument ignoriert.
- Unique
Typ: System.Object
true , um nur eindeutige Datensätze (d. h. ohne Duplikate) zu filtern, oder false, um alle Datensätze zu filtern, die mit den Kriterien übereinstimmen.Der Standardwert ist false.
Rückgabewert
Typ: System.Object
Hinweise
Wenn die ursprüngliche Auswahl eine einzelne Zelle umfasst, wird der aktuelle Bereich dieser Zelle verwendet.
Optionale Parameter
Informationen zu optionalen Parametern finden Sie unter Optionale Parameter in Office-Lösungen.
Beispiele
Im folgenden Codebeispiel werden im Bereich der Zellen A1 bis A5 ganzzahlige Werte festgelegt. Anschließend werden diese Werte mithilfe der AdvancedFilter-Methode gefiltert und in den Zellbereich kopiert, der mit B1 beginnt.
Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.
Private Sub ActivateAdvancedFilter()
Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
= Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
"namedRange1")
Me.Range("A1").Value2 = 10
Me.Range("A2").Value2 = 10
Me.Range("A3").Value2 = 20
Me.Range("A4").Value2 = 10
Me.Range("A5").Value2 = 30
namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy, , _
Me.Range("B1"), True)
End Sub
private void ActivateAdvancedFilter()
{
Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A5"],
"namedRange1");
this.Range["A1"].Value2 = 10;
this.Range["A2"].Value2 = 10;
this.Range["A3"].Value2 = 20;
this.Range["A4"].Value2 = 10;
this.Range["A5"].Value2 = 30;
namedRange1.AdvancedFilter(Excel.XlFilterAction.xlFilterCopy,
this.Range["B1"], true);
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.