Share via


NamedRange.AdvancedFilter 方法

根據準則範圍,從清單篩選或複製資料。

命名空間:  Microsoft.Office.Tools.Excel
組件:  Microsoft.Office.Tools.Excel (在 Microsoft.Office.Tools.Excel.dll 中)

語法

'宣告
Function AdvancedFilter ( _
    Action As XlFilterAction, _
    CriteriaRange As Object, _
    CopyToRange As Object, _
    Unique As Object _
) As Object
Object AdvancedFilter(
    XlFilterAction Action,
    Object CriteriaRange,
    Object CopyToRange,
    Object Unique
)

參數

  • CriteriaRange
    型別:System.Object
    準則範圍。如果省略這個引數,則表示沒有準則。
  • CopyToRange
    型別:System.Object
    如果 Action 為 xlFilterCopy,則為複製列的目的範圍。否則,忽略這個引數。
  • Unique
    型別:System.Object
    true 表示只篩選出唯一的記錄,false 表示篩選出所有符合準則的記錄。預設值是 false。

傳回值

型別:System.Object

備註

如果初始選取範圍是單一儲存格,則會使用此儲存格的目前區域。

選擇性參數

如需選擇性參數的詳細資訊,請參閱Office 方案中的選擇性參數

範例

下列程式碼範例在 A1 到 A5 的儲存格範圍中設定整數值,然後使用 AdvancedFilter 方法篩選和複製從 B1 開始的儲存格範圍值。

這是示範文件層級自訂的範例。

    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

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);
}

.NET Framework 安全性

請參閱

參考

NamedRange 介面

Microsoft.Office.Tools.Excel 命名空間