다음을 통해 공유


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

가 인 경우 Action 복사된 행의 대상 범위입니다 xlFilterCopy. 그렇지 않으면 이 인수는 무시됩니다.

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

설명

초기 선택 영역이 단일 셀인 경우 해당 셀의 현재 영역이 사용됩니다.

선택적 매개 변수

선택적 매개 변수에 대한 자세한 내용은 Office 솔루션의 선택적 매개 변수를 참조하세요.

적용 대상