WorksheetBase.AutoFilterMode-Eigenschaft
Ruft einen Wert ab, der angibt, ob das Filtern auf dem Arbeitsblatt aktiviert ist (d. h., ob die Dropdownpfeile des Filters gerade angezeigt werden), oder ruft diesen Wert ab.
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 Property AutoFilterMode As Boolean
public bool AutoFilterMode { get; set; }
Eigenschaftswert
Typ: System.Boolean
true , wenn das Filtern für das Arbeitsblatt aktiviert ist; andernfalls false.
Ausnahmen
Ausnahme | Bedingung |
---|---|
COMException | Die Eigenschaft ist auf true festgelegt. |
Hinweise
Sie können diese Eigenschaft auf false festlegen, um die Filterung zu deaktivieren (d. h. die Filterdropdownpfeile zu entfernen), aber sie kann nicht auf true festgelegt werden.Um das Filtern und Erstellen einer gefilterten Liste zu ermöglichen, verwenden Sie die AutoFilter-Methode eines Range-Objekts oder die AutoFilter-Methode eines NamedRange-Objekts.
Diese Eigenschaft gibt nur an, ob die Filterung aktiviert ist; sie gibt nicht an, ob alle Daten gefiltert werden.Um zu ermitteln, ob im Arbeitsblatt zurzeit Daten aktiv gefiltert werden, verwenden Sie die FilterMode-Eigenschaft.
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.