Application.SetAutoFilter 方法 (Project)
为工作表视图中的指定域设置自动筛选条件。
语法
表达式。SetAutoFilter (FieldName、 FilterType、 Test1、 Criteria1、 Operation、 Test2、 Criteria2)
表达 返回 Application 对象的表达式。
参数
名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
FieldName | 必需 | String | 域的名称。 |
FilterType | 可选 | PjAutoFilterType | 类型的筛选器;可以是 PjAutoFilterType 常量之一。 默认值是 pjAutoFilterClear ,从而清除自动筛选。 |
Test1 | 可选 | String | 指定的第一个测试的比较的类型。 要求 FilterType 为 pjAutoFilterCustom,并且 Criteria1 指定一个值。 可以是 比较字符串之一。 |
Criteria1 | 可选 | String | 第一个比较的值与 FieldName 指定的字段的值。 |
操作 | 可选 | 字符串 | 逻辑运算(如果有第二个测试)。 Operation 值可为“And”或“Or”。 |
Test2 | 可选 | 字符串 | 指定第二个测试的比较类型。 要求 FilterType 为 pjAutoFilterCustom,必须设置 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。