Application.SetAutoFilter 方法 (Project)

为工作表视图中的指定域设置自动筛选条件。

语法

表达式SetAutoFilter (FieldNameFilterTypeTest1Criteria1OperationTest2Criteria2)

表达 返回 Application 对象的表达式。

参数

名称 必需/可选 数据类型 说明
FieldName 必需 String 域的名称。
FilterType 可选 PjAutoFilterType 类型的筛选器;可以是 PjAutoFilterType 常量之一。 默认值是 pjAutoFilterClear ,从而清除自动筛选。
Test1 可选 String 指定的第一个测试的比较的类型。 要求 FilterTypepjAutoFilterCustom,并且 Criteria1 指定一个值。 可以是 比较字符串之一。
Criteria1 可选 String 第一个比较的值与 FieldName 指定的字段的值。
操作 可选 字符串 逻辑运算(如果有第二个测试)。 Operation 值可为“And”或“Or”。
Test2 可选 字符串 指定第二个测试的比较类型。 要求 FilterTypepjAutoFilterCustom,必须设置 Operation 值,并且 Criteria2 指定一个值。 字符串可以是 Test1 表中的比较之一。
Criteria2 可选 字符串 第二个比较的值与 FieldName 指定的字段的值。

比较字符串

比较字符串 Description
"equals" FieldName 的值等于 Criteria1
"does not equal" FieldName 的值不等于 Criteria1
"is greater than" FieldName 的值大于 Criteria1
"is greater than or equal to" FieldName 的值大于或等于 Criteria1
"is less than" FieldName 的值小于 Criteria1
"is less than or equal to" FieldName 的值小于或等于 Criteria1
"is within" FieldName 的值在 Criteria1 范围内。
"is not within" FieldName 的值不在 Criteria1 范围内。

返回值

Boolean

说明

若要打开或关闭自动筛选功能,请参阅 AutoFilter 方法。

注意

工作表视图中的列名可以具有与其显示的域名称不同的标题。

示例

下面的示例为“工时完成百分比”(% Work Complete) 域设置一个自定义自动筛选。

Sub TestAutoFilter() 
    If Not ActiveProject.AutoFilter Then 
        Application.AutoFilter 
    End If 
 
    Application.SetAutoFilter FieldName:="% Work Complete", FilterType:=pjAutoFilterCustom, _ 
    Test1:="equals", Criteria1:="0%" 
End Sub

如果为“工作完成百分比”字段设置了 AutoFilter,则以下代码行将清除 AutoFilter,因为可选 FilterType 参数的默认值为 pjAutoFilterClear

Application.SetAutoFilter FieldName:="% Work Complete"

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。