NamedRange.AdvancedFilter(XlFilterAction, Object, Object, Object) 方法
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據準則範圍,從清單篩選或複製資料。
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 方案中的選擇性參數。