WorksheetBase.AutoFilter-Eigenschaft
Ruft ein Microsoft.Office.Interop.Excel.AutoFilter-Element ab, das Informationen zu gefilterten Listen auf dem Arbeitsblatt bereitstellt, wenn das Filtern aktiviert ist.Ruft nullein Nullverweis (Nothing in Visual Basic) ab, wenn das Filtern deaktiviert ist.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntax
'Declaration
Public ReadOnly Property AutoFilter As AutoFilter
public AutoFilter AutoFilter { get; }
Eigenschaftswert
Typ: Microsoft.Office.Interop.Excel.AutoFilter
Ein Microsoft.Office.Interop.Excel.AutoFilter-Element, das Informationen zu gefilterten Listen auf dem Arbeitsblatt bereitstellt; andernfalls nullein Nullverweis (Nothing in Visual Basic).
Hinweise
Um das Filtern programmgesteuert zu aktivieren, verwenden Sie die AutoFilter-Methode des Range-Objekts oder die AutoFilter-Methode eines NamedRange-Objekts.
Beispiele
Im folgenden Codebeispiel wird eine gefilterte Liste von Obstsorten in einem Range erstellt. Anschließend werden mithilfe der AutoFilter-Eigenschaft die Filterkriterien für die Liste angezeigt.Danach wird der Benutzer aufgefordert, den Filter mithilfe der AutoFilterMode-Eigenschaft zu deaktivieren, und schließlich wird mithilfe der FilterMode-Eigenschaft angezeigt, ob das Arbeitsblatt über eine gefilterte Liste verfügt.
Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.
Private Sub ActivateAutoFilter()
Me.Range("A1").Value2 = "Fruits"
Me.Range("A2").Value2 = "Banana"
Me.Range("A3").Value2 = "Apple"
Me.Range("A4").Value2 = "Banana"
Me.Range("A5").Value2 = "Orange"
Me.Range("A6").Value2 = "Apple"
Me.Range("A7").Value2 = "Orange"
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1", "A7"), "NamedRange1")
NamedRange1.AutoFilter(1, "Apple", Excel.XlAutoFilterOperator.xlAnd, _
VisibleDropDown:=True)
MsgBox("The current criteria for the AutoFilter is: " & _
Me.AutoFilter.Filters(1).Criteria1.ToString())
If Me.AutoFilterMode Then
If DialogResult.Yes = MessageBox.Show("Would you like to " & _
"turn off the filter?", "Example", MessageBoxButtons.YesNo) Then
Me.AutoFilterMode = False
End If
End If
If Me.FilterMode Then
MsgBox("The worksheet has a filtered list.")
Else
MsgBox("The worksheet does not have a filtered list")
End If
End Sub
private void ActivateAutoFilter()
{
this.Range["A1"].Value2 = "Fruits";
this.Range["A2"].Value2 = "Banana";
this.Range["A3"].Value2 = "Apple";
this.Range["A4"].Value2 = "Banana";
this.Range["A5"].Value2 = "Orange";
this.Range["A6"].Value2 = "Apple";
this.Range["A7"].Value2 = "Orange";
Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A7"],
"NamedRange1");
NamedRange1.AutoFilter(1, "Apple",
Excel.XlAutoFilterOperator.xlAnd, true);
MessageBox.Show("The current criteria for the AutoFilter is: " +
this.AutoFilter.Filters[1].Criteria1.ToString());
if (this.AutoFilterMode)
{
if (DialogResult.Yes == MessageBox.Show("Would you like to " +
"turn off the filter?", "Example", MessageBoxButtons.YesNo))
{
this.AutoFilterMode = false;
}
}
if (this.FilterMode)
{
MessageBox.Show("The worksheet has a filtered list.");
}
else
{
MessageBox.Show("The worksheet does not have a filtered list");
}
}
.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.
Siehe auch
Referenz
Microsoft.Office.Tools.Excel-Namespace
AutoFilter