次の方法で共有


NamedRange.AdvancedFilter(XlFilterAction, Object, Object, Object) メソッド

定義

抽出条件の範囲に基づいて、リストからデータをフィルター処理するかコピーします。

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

パラメーター

Action
XlFilterAction

XlFilterAction のいずれかの値を指定できます。 xlFilterCopyxlFilterInPlace

CriteriaRange
Object

抽出条件の範囲を指定します。 この引数を省略した場合、抽出条件はありません。

CopyToRange
Object

が の場合ActionxlFilterCopy、コピー先の行の範囲。 それ以外のときには、この引数は無視されます。

Unique
Object

重複しないレコードのみをフィルター処理する場合は true を指定します。条件を満たすすべてのレコードをフィルター処理する場合は false を指定します。 既定値は false です。

戻り値

次のコード例では、A1 から A5 までのセル範囲に整数値を設定し、 メソッドを AdvancedFilter 使用して値をフィルター処理し、B1 から始まるセル範囲にコピーします。

この例は、ドキュメント レベルのカスタマイズ用です。

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

注釈

最初の選択範囲が 1 つのセルの場合は、そのセルの現在の領域が使用されます。

省略可能のパラメーター

省略可能なパラメーターの詳細については、「 Office ソリューションの省略可能なパラメーター」を参照してください。

適用対象