NamedRange.AdvancedFilter(XlFilterAction, Object, Object, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Filtruje lub kopiuje dane z listy na podstawie zakresu kryteriów.
public object AdvancedFilter (Microsoft.Office.Interop.Excel.XlFilterAction Action, object CriteriaRange, object CopyToRange, object Unique);
abstract member AdvancedFilter : Microsoft.Office.Interop.Excel.XlFilterAction * obj * obj * obj -> obj
Public Function AdvancedFilter (Action As XlFilterAction, Optional CriteriaRange As Object, Optional CopyToRange As Object, Optional Unique As Object) As Object
Parametry
- Action
- XlFilterAction
Może być jedną z następujących XlFilterAction wartości: xlFilterCopyxlFilterInPlace
- CriteriaRange
- Object
Zakres kryteriów. Jeśli ten argument zostanie pominięty, nie ma kryteriów.
- CopyToRange
- Object
Zakres docelowy skopiowanych wierszy, jeśli Action
to xlFilterCopy. W przeciwnym razie ten argument jest ignorowany.
- Unique
- Object
true
aby filtrować tylko unikatowe rekordy; false
aby filtrować wszystkie rekordy spełniające kryteria. Wartość domyślna to false
.
Zwraca
Przykłady
Poniższy przykład kodu ustawia wartości całkowite w zakresie komórek od A1 do A5, a następnie używa AdvancedFilter metody do filtrowania i kopiowania wartości do zakresu komórek rozpoczynających się od B1.
Ten przykład dotyczy dostosowywania na poziomie dokumentu.
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);
}
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
Uwagi
Jeśli początkowe zaznaczenie jest pojedynczą komórką, używany jest bieżący region komórki.
Parametry opcjonalne
Aby uzyskać informacje na temat parametrów opcjonalnych, zobacz Parametry opcjonalne w rozwiązaniach pakietu Office.